High Performance Computing Course
Published:
More details on the assignments can be viewed at this link.
Assignment 0: Basic C Programming
- Stack and Heap allocation
- Reducing memory fragmentation
- Writing to files
- Parsing command line arguments
- Naive benchmarking
Assignment 1: Optimization
- Assembler
- Valgrind and GDB
- Inlining
- Locality
- Data dependency
- Indirect addressing
- Writing to and reading from HDD and SSD
Assignment 2: OpenMP
Implementing an efficient computation of all distances of a list of 3D points. More details can be viewed in “HPC - Oral Presentation Slides”.
Assignment 3: Threads
Implementing the Newton’s method for polynomials up to degree 9.
Assignment 4: OpenCL
Applying the heat diffusion equation to a grid of 2D points for a series of iterations. The computational kernels have been implemented in OpenCL.