20410426 - IN480 - PARALLEL AND DISTRIBUTED COMPUTING

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

Programme

The education consists of lectures and programming sessions.
The main programming language is C.

• Introduction to C
• Introduction to High Performance Computing
• Key concepts: Hardware Architecture and Memory Hierarchy
• Parallelizzation techniques
• Measuring parallel performance: theory and benchmark
• Version Control of your code: Git software
• Parallel programming with MPI: Message Passing Interface
• Parallel programming with OpenMP: Open Multiprocessing
• Parallel Input/Output
• Introduction to GPU computing and OpenCL Programming



Core Documentation

Introduction to Parallel Computing: From Algorithms to Programming on State-of-the-Art Platforms. Trobec, Slivnik, Bulić, Robič, Springer

Type of delivery of the course

The education consists of lectures and programming sessions.

teacher profile | teaching materials

Programme

The education consists of lectures and programming sessions.
The main programming language is C.

• Introduction to C
• Introduction to High Performance Computing
• Key concepts: Hardware Architecture and Memory Hierarchy
• Parallelizzation techniques
• Measuring parallel performance: theory and benchmark
• Version Control of your code: Git software
• Parallel programming with MPI: Message Passing Interface
• Parallel programming with OpenMP: Open Multiprocessing
• Parallel Input/Output
• Introduction to GPU computing and OpenCL Programming



Core Documentation

Introduction to Parallel Computing: From Algorithms to Programming on State-of-the-Art Platforms. Trobec, Slivnik, Bulić, Robič, Springer

Type of delivery of the course

The education consists of lectures and programming sessions.

teacher profile | teaching materials

Programme

The education consists of lectures and programming sessions.
The main programming language is C.

• Introduction to C
• Introduction to High Performance Computing
• Key concepts: Hardware Architecture and Memory Hierarchy
• Parallelizzation techniques
• Measuring parallel performance: theory and benchmark
• Version Control of your code: Git software
• Parallel programming with MPI: Message Passing Interface
• Parallel programming with OpenMP: Open Multiprocessing
• Parallel Input/Output
• Introduction to GPU computing and OpenCL Programming



Core Documentation

Introduction to Parallel Computing: From Algorithms to Programming on State-of-the-Art Platforms. Trobec, Slivnik, Bulić, Robič, Springer

Type of delivery of the course

The education consists of lectures and programming sessions.