Hello World

De Wiki de Calcul Québec
Aller à : Navigation, rechercher
Autres langues :anglais 100% • ‎français 100%

Ce programme très simple contient le minimum nécessaire pour fonctionner en parallèle en utilisant MPI. Il peut constituer votre canevas de départ pour vos essais de programmation avec MPI.

En Fortran

Fichier : hello.f
!--------------------------------------------------------
!   MPI_Init :
!    Initialisation de l'environnement MPI. À ce moment, l'instance
!    du programme reçoit son numéro d'identification (taskid).
!
!   MPI_Finalize :
!    Fermeture propre de l'environnement MPI. Doit être 
!    appelé avant la fin de l'exécution (avant un stop, par exemple)
!    afin que le nettoyage des processus MPI s'effectue proprement.
!   
!   MPI_Comm_Size :
!    Fonction retournant le nombre total de processus 
!    en exécution parallèle.
!
!   MPI_Comm_Rank :
!    Fonction retournant le numéro de processus alloué à l'instance  
!    courante du programme.
!
!   Sortie du programme :
!    Chacune des instances du programme écrit à l'écran le nombre 
!    total de processus et son numéro de processus, ainsi qu'un magnifique
!    « Hello World! ». Vous remarquerez que puisque les instances sont
!    exécutées en parallèle, les sorties n'apparaissent pas dans l'ordre,
!    aucun processus n'ayant priorité sur les autres.
!   
! Auteur : Carol Gauthier
!          Centre de calcul scientifique
!          Université de Sherbrooke
!
! Dernière révision : août 2004
!--------------------------------------------------------
Program HelloWorld
 
  use mpi
 
  integer ntasks,taskid,Error
 
  Call MPI_Init( Error )
 
  Call MPI_Comm_Size( MPI_COMM_WORLD,ntasks,Error )
  Call MPI_Comm_Rank( MPI_COMM_WORLD,taskid,Error )
 
  write(6,*)'ntasks = ',ntasks,'taskid = ',taskid,'   : Hello World!'
 
  Call MPI_Finalize( Error )
 
End Program


En C

Fichier : hello.c
/* --------------------------------------------------------
    MPI_Init :
    Initialisation de l'environnement MPI. À ce moment, l'instance
    du programme reçoit son numéro d'identification (taskid).
 
   MPI_Finalize :
    Fermeture propre de l'environnement MPI. Doit être 
    appelé avant la fin de l'exécution (avant un stop par exemple)
    afin que le nettoyage des processus MPI s'effectue proprement.
 
   MPI_Comm_Size :
    Fonction retournant le nombre total de processus 
    en exécution parallèle.
 
   MPI_Comm_Rank :
    Fonction retournant le numéro de processus alloué à l'instance  
    courante du programme.
 
   Sortie du programme :
    Chacune des instances du programme écrit à l'écran le nombre 
    total de processus et son numéro de processus, ainsi qu'un magnifique
    « Hello World! ». Vous remarquerez que puisque les instances sont
    exécutées en parallèle, les sortie n'apparaissent pas dans l'ordre,
    aucun processus n'ayant priorité sur les autres.
 
 Auteur : Carol Gauthier
          Centre de Calcul scientifique
          Université de Sherbrooke
 
 Dernière revision : août 2004
-------------------------------------------------------- */
#include <malloc.h>
#include <stdlib.h>
#include <stdio.h>
#include "math.h"
#include "mpi.h"
 
int main(int argc,char** argv)
{
   int          taskid, ntasks;
   int          ierr,i,j,itask;
   int	        buffsize;
 
   MPI_Init(&argc, &argv);
 
   MPI_Comm_rank(MPI_COMM_WORLD,&taskid);
   MPI_Comm_size(MPI_COMM_WORLD,&ntasks);
 
   printf("ntasks= %d : taskid= %d  : Hello World!\n",ntasks,taskid);
 
   MPI_Finalize(); 
}


Outils personnels
Espaces de noms

Variantes
Actions
Navigation
Ressources de Calcul Québec
Outils
Partager