High Performance Computing

Exploiting large computing clusters for solving challenging scientific and engineering problems is a fascinating discipline, bridging the gap between algorithms and advancements in multi-core CPU and GPU technologies. In this two semester coursework on High Performance Computing for Science and Engineering important concepts have been tackled, such as high-throughput computing, Monte Carlo Methods for Uncertainty Quantification to GPU acceleration. Main technologies used: C++, OpenMP, MPI, UPCXX, CUDA.

One of the highlights was running and benchmarking optimized CUDA code on a GPU node of Piz-Daint, in 2016 the world’s third fastest super computer.

Running GPU code on Piz Daints nodes

The developed code and with the assignments are made available blow.

Assignments

HPCSE I (Fall 2019)

thumbnail of FM – High Performance Computing I – Assignment 1
Assignment 1

thumbnail of FM – High Performance Computing I – Assignment 2
Assignment 2
thumbnail of FM – High Performance Computing I – Assignment 3
Assignment 3
thumbnail of FM – High Performance Computing I – Assignment 4
Assignment 4
thumbnail of FM – High Performance Computing I – Assignment 5
Assignment 5
thumbnail of FM – High Performance Computing I – Assignment 6
Assignment 6

HPCSE II (Spring 2020)

thumbnail of FM – High Performance Computing II – Assignment 1
Assignment 1
thumbnail of FM – High Performance Computing II – Assignment 2
Assignment 2
thumbnail of FM – High Performance Computing II – Assignment 3
Assignment 3
thumbnail of FM – High Performance Computing II – Assignment 4
Assignment 4
thumbnail of FM – High Performance Computing II – Assignment 5
Assignment 5

thumbnail of FM – High Performance Computing II – Assignment 6
Assignment 6

Leave a Reply

Your email address will not be published. Required fields are marked *