rsnt_translations
56,420
edits
(Created page with "Avec la version Python, vous n'avez pas besoin de compiler, mais vous pouvez exécuter avec [~]$ mpirun -np 4 python phello1.py") |
No edit summary |
||
Line 94: | Line 94: | ||
[[Image:SPMD_model.png|frame|center|'''Figure 3''': ''Contrôle de comportements divergents'']] | [[Image:SPMD_model.png|frame|center|'''Figure 3''': ''Contrôle de comportements divergents'']] | ||
=== Cadre d'exécution === | === Cadre d'exécution === | ||
Un programme MPI | Un programme MPI doit comprendre le fichier entête approprié ou utiliser le modèle approprié (<tt>mpi.h</tt> pour C/C++, <tt>mpif.h</tt>, <tt>use mpi</tt>, ou <tt>use mpi_f08</tt> pour Fortran, sachant que <tt>mpif.h</tt> est fortement déconseillé et <tt>mpi_f08</tt> recommandé pour Fortran 2008). Il peut donc être compilé puis relié à l'implémentation MPI de votre choix. Dans la plupart des cas, l'implémentation possède un script pratique qui enveloppe l'appel au compilateur (''compiler wrapper'') et qui configure adéquatement <code>include</code> et <code>lib</code>, entre autres pour relier les indicateurs. Nos exemples utilisent les scripts de compilation suivants : | ||
* pour le C, <tt>mpicc</tt> | * pour le C, <tt>mpicc</tt> | ||
* pour le Fortran, <tt>mpif90</tt> | * pour le Fortran, <tt>mpifort</tt> (recommandé) ou <tt>mpif90</tt> | ||
* pour le C++, <tt>mpiCC</tt> | * pour le C++, <tt>mpiCC</tt> ou <tt>mpicxx</tt> | ||
</ | |||
Une fois les instances lancées, elles doivent se coordonner, ce qui se fait en tout premier lieu par l'appel d'une fonction d'initialisation : | Une fois les instances lancées, elles doivent se coordonner, ce qui se fait en tout premier lieu par l'appel d'une fonction d'initialisation : |