HIGH PERFORMANCE COMPUTING

High Performance Computing Training


HOW TO GET STARTED

Here are some tips on how to get started toward using these machines. Each facility, the Argonne Leadership Computing Facility (ALCF), the Oak Ridge Leadership Computing Facility (OLCF), and the National Energy Research Scientific Comuting (NERSC) center, have many training materials on their websites.

GET TO KNOW MPI (MESSAGE PASSING INTERFACE)

You will need to know at least something about MPI. In short, MPI is a library you can use to add parallel communication and data access to code. There are two implementation libraries: OpenMPIand MPICH. Both have very nice documentation and in principle should contain the same functionality such that either can be used with the same code. The difference comes in the efficiency of the underlying implementation.

 

YOU MAY NEED OPENMP

OpenMP is a parallel programming library which better suits truly parallel calculations/algorithms that need to share memory.

In the ideal case on supercomputers, the programming model uses MPI to launch one process per compute node and for inter-node communication. Then OpenMP uses to parallelize within a node and handle intra-node communication. As shown here:

mpi

 Vectorization

NERSC Vectorization Training (October 2014)

 

An HEP Collision Point