Acquire parallel and distributed programming techniques, and know modern hardware and software architectures for high-performance scientific computing. Parallelization paradigms, parallelization on CPU and GPU, distributed memory systems. Data-intensive, Memory Intensive and Compute Intensive applications. Performance analysis in HPC systems.
Curriculum
teacher profile teaching materials
- Base concepts: hardware architectures and memory hierarchy
- The C language
- Parallel programming models
- Message Passing Interface (MPI)
- OpenMP
- Introduction to general purpose programming on Graphics Processing Unit (GPU)
- CUDA and OpenCL
Programming on Parallel Machines, Norm Matloff
Programme
- Introduction to parallel and distributed computing- Base concepts: hardware architectures and memory hierarchy
- The C language
- Parallel programming models
- Message Passing Interface (MPI)
- OpenMP
- Introduction to general purpose programming on Graphics Processing Unit (GPU)
- CUDA and OpenCL
Core Documentation
Introduction to Parallel Computing: From Algorithms to Programming on State-of-the-Art Platforms, Trobec, Slivnik, Bulić, Robič, SpringerProgramming on Parallel Machines, Norm Matloff
Type of delivery of the course
The course consists of lectures and hands-on exercisesAttendance
Optional (but recommended)Type of evaluation
The final exam consists of the implementation of an assigned project along with a brief description and in the discussion about project details and implementation choices teacher profile teaching materials
- Base concepts: hardware architectures and memory hierarchy
- The C language
- Parallel programming models
- Message Passing Interface (MPI)
- OpenMP
- Introduction to general purpose programming on Graphics Processing Unit (GPU)
- CUDA and OpenCL
Programming on Parallel Machines, Norm Matloff
Programme
- Introduction to parallel and distributed computing- Base concepts: hardware architectures and memory hierarchy
- The C language
- Parallel programming models
- Message Passing Interface (MPI)
- OpenMP
- Introduction to general purpose programming on Graphics Processing Unit (GPU)
- CUDA and OpenCL
Core Documentation
Introduction to Parallel Computing: From Algorithms to Programming on State-of-the-Art Platforms, Trobec, Slivnik, Bulić, Robič, SpringerProgramming on Parallel Machines, Norm Matloff
Type of delivery of the course
The course consists of lectures and hands-on exercisesAttendance
Optional (but recommended)Type of evaluation
The final exam consists of the implementation of an assigned project along with a brief description and in the discussion about project details and implementation choices teacher profile teaching materials
- Base concepts: hardware architectures and memory hierarchy
- The C language
- Parallel programming models
- Message Passing Interface (MPI)
- OpenMP
- Introduction to general purpose programming on Graphics Processing Unit (GPU)
- CUDA and OpenCL
Programming on Parallel Machines, Norm Matloff
Programme
- Introduction to parallel and distributed computing- Base concepts: hardware architectures and memory hierarchy
- The C language
- Parallel programming models
- Message Passing Interface (MPI)
- OpenMP
- Introduction to general purpose programming on Graphics Processing Unit (GPU)
- CUDA and OpenCL
Core Documentation
Introduction to Parallel Computing: From Algorithms to Programming on State-of-the-Art Platforms, Trobec, Slivnik, Bulić, Robič, SpringerProgramming on Parallel Machines, Norm Matloff
Type of delivery of the course
The course consists of lectures and hands-on exercisesAttendance
Optional (but recommended)Type of evaluation
The final exam consists of the implementation of an assigned project along with a brief description and in the discussion about project details and implementation choices