Hands-On Session Prerequisites
Completion requirements
Please prepare for the hand-on sessions by studying the following material.
Prerequisites for all sessions
- Basic Linux command line capabilities
- Know how to use a text editor on remote systems (vi, emacs, ...)
- General HPC background (see e.g., Generic HPC Material)
- Know how to compile a C/C++/Fortran program
- on Bridges (primary system for the summer school)
- on Comet (backup system)
- Install required software on your laptop and download necessary material, see Install Required Software and Data.
Parallel Programming: Classic Track
- See Bridges and Comet requirements under Prerequisites for all sessions.
- MPI
- Familiarity with basic MPI concepts including basic point-to-point communication
- Here are videos and PDF slides of a recent online MPI course.
- Session 1: https://youtu.be/1DbLqYfNz04 (overview, concepts, compiling and MPI programs).
- Much of the "compiling" part is specific to the system we used for this course. On Bridges, you should be able to compile a simple "Hello World" program (e.g. in C, C++ or Fortran) as follows:
- mpicc -o hello hello.c
- mpicxx -o hello hello.cc
- mpif90 -o hello hello.f90
- and run on, for example, 4 processes with: mpirun -n 4 ./hello
- Here is the complete Exercise Sheet although we will only be covering exercises 1 and 2 for the pre-requisites.
- Session 2: https://www.youtube.com/watch?v=ik5P0kNYX-I but only as far as the tea break at 1:22:20 (point-to-point)
- Session 3: https://www.youtube.com/watch?v=mOCIEio5zfw&t=34m30s as far as 1:16:00 (here is a tar file with the Pi solutions)
- For the real course, where we are concerned with performance, we will run jobs on the Bridges compute nodes using the SLURM batch system. However, when just learning the MPI syntax it is fine to run small jobs interactively on the login nodes using "mpirun" directly.
- OpenMP
- Familiarity with basic OpenMP material: the three lectures "Shared Memory Concepts", "OpenMP Introduction" and "Parallel Regions" available here.
Parallel Programming: Accelerator Track
- See Bridges and Comet requirements under Prerequisites for all sessions.
Scientific Visualization
- Review the Introduction to Visualization material at https://www.citutor.org/.
- You will need to register, but registration is free.
- You should select: browse courses, then look for and click on Introduction to Visualization -> Scientific Visualization
HPC Python Programming
- See Bridges and Comet requirements under Prerequisites for all sessions.
- Basic Programming in C or Fortran
- Basics of Parallel Programming
- Familiarity with python programming:
- Basic Python Programming
- Research Computing with Python (with recordings, slides, and exercises). Lectures 1 and 4 are of particular interest for our session.
(See also the YouTube playlist https://www.youtube.com/playlist?list=PLZRRlbOTxTmCaBYeLHQyqMFyI6caKsVDd)
Performance Analysis and Optimization
- See Bridges and Comet requirements under Prerequisites for all sessions.
- See slides for preparation in the course material: http://www.hpc-training.org/moodle/mod/page/view.php?id=638
- Optional: Review VI-HPS course material on the tutorial example, Score-P, TAU, Cube, and Scalasca
Last modified: Tuesday, June 19, 2018, 8:55 AM