ACENET Summer School - General

The first week’s sessions give a general introduction to parallel computing. Specific implementations will be covered in subsequent weeks of the summer school.

Prerequisites

In order to compile and run the examples this week you will use:

  • the shell command line (bash)
  • the GNU compiler suite (gcc, gfortran)

One exercise involves compiling and running C code, another involves compiling and running Fortran code. Familiarity with these languages will be helpful but is not required.

Schedule

Setup Download files required for the lesson
Day 1 09:30 1. Introduction What parallel computing is and why it is important?
How does a parallel program work?
09:55 2. Parallel Computer Architecture How is a typical CPU organized?
How are parallel computers organized?
10:10 3. Parallel Programming Models What levels of parallelism are available in modern computer systems?
10:35 4. Performance and Scalability How do we measure parallel performance?
11:35 5. Lunch Break Break
13:00 6. Independent Tasks and Job Schedulers How to run several independent jobs in parallel?
13:10 7. Input and Output How is input/output in the HPC clusters organized?
How do I optimize input/output in HPC environment?
13:25 8. Analyzing Performance Using a Profiler How do I decide where to begin optimizing my code?
14:15 9. Thinking in Parallel How do I re-think my algorithm in parallel?
15:00 Finish

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