HIGH PERFORMANCE COMPUTING

International Teaching HIGH PERFORMANCE COMPUTING

Back

0522500136
COMPUTER SCIENCE
EQF7
COMPUTER SCIENCE
2024/2025

YEAR OF DIDACTIC SYSTEM 2016
SPRING SEMESTER
CFUHOURSACTIVITY
648LAB
Objectives
This course aims to build the programming skills and to acquire the knowledge about algorithms, applications and computer architectures for modern High Performance Computing.

Knowledge and understanding
The learning objectives of this course are to acquire knowledge and programming techniques for HPC computing systems. Students will develop and acquire knowledge on the following topics:
•HPC architectures
•Programming models for HPC and parallel programming patterns
•Programming on shared memory (OpenMP)
•Heterogenous and GPU programming (CUDA/OpenCL, SYCL)
•Distributed memory programming (MPI)
•Vectorization (intrinsics)
•Parallel program optimization and tuning
•Compilation for HPC and automatic parallelization
•HPC applications
Applying knowledge and understanding
The students will be able to apply their knowledge and acquire the following skills:
•Be able to program multicore application with OpenMP
•Be able to program a GPU/heterogenous application
•Be able to program a distributed application with MPI
•To recognize and apply parallel programming pattern
•Be able to understand and exploit compilation techniques in HPC applications
•To be able to apply optimization techniques for parallel and distributed applications
Lessons Timetable

  BETA VERSION Data source ESSE3