Repozytorium publikacji - Politechnika Gdańska

Ustawienia strony

english
Repozytorium publikacji
Politechniki Gdańskiej

Treść strony

Teaching High–performance Computing Systems – A Case Study with Parallel Programming APIs: MPI, OpenMP and CUDA

High performance computing (HPC) education has become essential in recent years, especially that parallel computing on high performance computing systems enables modern machine learning models to grow in scale. This significant increase in the computational power of modern supercomputers relies on a large number of cores in modern CPUs and GPUs. As a consequence, parallel program development based on parallel thinking has become a necessity to fully utilize modern HPC systems' computational power. Therefore, teaching HPC has become essential in developing skills required by the industry. In this paper we share our experience of conducting a dedicated HPC course, provide a brief description of the course content, and propose a way to conduct HPC laboratory classes, in which a single task is implemented using several APIs, i.e., MPI, OpenMP, CUDA, hybrid MPI+Pthreads, and MPI+OpenMP. Based on the actual task of verifying Goldbach's conjecture for a given range of numbers, we present and analyze the performance evaluation of students' solutions and code speed-ups for MPI and OpenMP. Additionally, we evaluate students' subjective assessment of ease of use of particular APIs along with the lengths of codes, and students' performance over recent years.

Autorzy