Parallelism in Plumed2

This lesson is a pratical introduction (with some exercises with code to modify) to the parallel functionality of PLUMED for the developers.

The code is hosted here. You can start from the introduction, and then read the serial example that contains the base idea of the CV.

You can then navigate the three cases (openMP, MPI, Cuda) in any order

NB: For this lesson the CV is presented with no explicit derivatives calculated.

flowchart LR

Intro[Introduction]
Serial[Serial example]
OMP[OMP example]
MPI[MPI example]
CUDA[CUDA example]

Intro<==>Serial

Serial<==>OMP
Serial<==>MPI
Serial<==>CUDA

click Intro "Readme.html" "The introduction to the lessons"
click Serial "Readme_Serial.html" "The presentation of the base example"
click OMP "Readme_OMP.html" "The presentation of the openMP example"
click MPI "Readme_MPI.html" "The presentation of the MPI example"
click CUDA "Readme_CUDA.html" "A prototype for a Cuda implementation"