====== Parallel programming ====== Basics to diverent parallel programming Models and Glossary. **Tutorials**, **Lectures** and Practicals with Youtube sessions from the [[http://www.training.prace-ri.eu/nc/training_courses/index.html | ARCHER ]] Sommer School. ===== directives based data parallel model (pragma based): ===== Serial code is made parallel by adding directives (which appear as comments in the serial code) that tell the compiler how to distribute data and work across the several processors and compute clients. === OpenMP, OpenACC === [[programming:openmp | OpenMP]] [[programming:openmp:OpenACC | OpenACC]] ==== message passing ==== A programmer explicitly divides data and work across the processors and compute clients as well as managing the communications among them. [[programming:MPI | OpenMPI]], [[programming:gpgpu:opencl | OpenCL]]