Parallel and distributed computing
How to program parallel computers?
OpenMP
The fork-and-join parallel model. Figure taken from https://docs.nersc.gov/development/programming-models/openmp/
Message Passing Interface (MPI)
Basic MPI communication between two processors. Figure taken from https://www.cs.mtsu.edu/~rbutler/courses/pp6330/www.llnl.gov/computing/tutorials/workshops/workshop/mpi/MAIN.html.
The most popular implementations of the MPI standard are: MPICH, OpenMPI.
GPU programming models
Heterogeneous programming model. Figure taken from https://es.mathworks.com/help/gpucoder/gs/gpu-prog-paradigm.html
