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
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
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č, SpringerType of delivery of the course
The education consists of lectures and programming sessions. teacher profile teaching materials
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
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č, SpringerType of delivery of the course
The education consists of lectures and programming sessions. teacher profile teaching materials
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
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č, SpringerType of delivery of the course
The education consists of lectures and programming sessions.