High Performance Computing Course

Published:

Open in GitHub

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.

Literature

Link to the course material.