Institute for Physics and Astronomy, University of Potsdam
January 18, 2024
Definition of High performance computing (HPC)
Usage of supercomputers and computer clusters to solve advanced computation problems.
Node List of Uni Potsdam cluster
Scheme of a CPU Wiki.
Pipeline
Superscalar pipeline
Scheme of a MeluXina supercomputer (Luxembourg)
Easiest way to run your program parallel
Work only in some compiled languages — C/C++ and Fortran
Maximal parallelization limited to one CPU
Example:
Initialization and finishing
// Initialize the MPI environment
MPI_Init(NULL, NULL);
// Get the number of processes
int world_size;
MPI_Comm_size(MPI_COMM_WORLD, &world_size);
// Get the rank of the process
int world_rank;
MPI_Comm_rank(MPI_COMM_WORLD, &world_rank);
// Print off a hello world message
printf("Hello world from processor rank %d out of %d processors\n",
world_rank, world_size);
// Finalize the MPI environment.
MPI_Finalize();
Communication