This lesson is being piloted (Beta version)

ACENET Summer School - General

The ACENET Parallel Programming Summer School will focus on teaching students the basics of parallel programming. This will include lessons in shared memory programming (through OpenMP), message passing parallel programming (through MPI) and GPGPU programming (through CUDA), DASK and Machine Learning.

Prerequisites

FIXME

Schedule

Setup Download files required for the lesson
00:00 1. Introduction What parallel computing is and why it is important?
How does a parallel program work?
00:15 2. Parallel Computers How is a typical CPU organized?
What are the four major groups of computer architectures?
00:25 3. Memory Organisations of Parallel Computers How is computer memory in parallel computers organized?
00:35 4. Parallel Programming Models What levels of parallelism are available in modern computer systems?
How can a parallel program access different levels of parallelization?
01:00 5. Independent Tasks and Job Schedulers How to run several independent jobs in parallel?
01:10 6. Parallel Performance and Scalability How to use parallel computers efficiently?
02:10 7. Input and Output How is input/output in the HPC clusters organized?
How do I optimize input/output in HPC environment?
02:25 8. Analyzing Performance Using a Profiler How do I identify the computationally expensive parts of my code?
03:15 9. Thinking in Parallel How do I re-think my algorithm in parallel?
04:00 Finish

The actual schedule may vary slightly depending on the topics and exercises chosen by the instructor.