Cours Année : 2019

Parallel programming for physicists

Résumé

Modern computers have a growing number of processors or ’cores’. From a few units in a simple laptop, to several thousands in big servers, their number has been growing quickly over the years. But to fully take advantage of this computing power, it is necessary to have codes or softwares being able to distribute a given task over several processors working in parallel. These lectures will present an introduction to parallel programming in the context of scientific calculations; - Introduction to hardware aspects (’shared’ versus ’distributed’ memory, communication between processors, vectorization, etc.) - Solutions based on ’already-parallel’ softwares (from linear algebra libraries to highlevel computer algebra softwares) - We will then present two widely used libraries for code parallelization, OpenMP (Open MultiProcessing) and MPI (Message Passing Interface). These lectures will be based on simple and concrete examples. They are intended for people with some basic programming knowledge (for instance in C/C++, Python or Fortran), but no prior experience with parallelization.

Fichier principal
Vignette du fichier
Course.pdf (16.29 Mo) Télécharger le fichier

Dates et versions

hal-04452753 , version 1 (12-02-2024)

Licence

Identifiants

  • HAL Id : hal-04452753 , version 1

Citer

François Gelis, Grégoire Misguich. Parallel programming for physicists. 3rd cycle. Institut de Physique Théorique, CEA Saclay, France. 2019, pp.163. ⟨hal-04452753⟩
186 Consultations
79 Téléchargements

Partager

  • More