[programmation parallèle MPI] : pb de compil
pom
-
pop -
pop -
Bonjour, j'ai suivi un cours (de 6h) sur la programmation parallèle avec MPI (librairie mpich).
J'ai donc chopé cette librairie sur https://www.mpich.org/ et je l'ai installé en tapant les lignes de commandes suivantes :
configure --with-device=ch_p4 --prefix=/usr/local/mpich-1.2.5/ch_p4 \
--with-common-prefix=/usr/local/mpich-1.2.5
make
make install
configure --with-device=ch_p4mpd --prefix=/usr/local/mpich-1.2.5/ch-p4mpd \
--with-common-prefix=/usr/local/mpich-1.2.5
(cf ftp://ftp.mcs.anl.gov/pub/mpi/README)
J'ai donc tapé mon code (programme C) que voici :
Pendant mon cours, j'ai appris que la ligne de commande, pour la compilation, était :
mpicc.mpich -o main.c -o out
ou mpicc est le grappeur de la grappe de calcul. Sur mon PC (Suse Pro 9.3) j'ai 2 biprocesseur (donc 4 processeur). Et il ne connait pas mpicc.
Que dois-je faire pour compiler mon prgm ? et pou l'éxécuter ?
Merci.
J'ai donc chopé cette librairie sur https://www.mpich.org/ et je l'ai installé en tapant les lignes de commandes suivantes :
configure --with-device=ch_p4 --prefix=/usr/local/mpich-1.2.5/ch_p4 \
--with-common-prefix=/usr/local/mpich-1.2.5
make
make install
configure --with-device=ch_p4mpd --prefix=/usr/local/mpich-1.2.5/ch-p4mpd \
--with-common-prefix=/usr/local/mpich-1.2.5
(cf ftp://ftp.mcs.anl.gov/pub/mpi/README)
J'ai donc tapé mon code (programme C) que voici :
#include<stdio.h>
#include<stdlib.h>
#include<unistd.h>
#include "mpi.h"
int main(int argc,char **argv)
{
int my_rank,p,source,dest,silen=128,gherr;
char hname[128], message[800];
MPI_Status status;
int tag=50;
MPI_Init(&argc,&argv);
MPI_Comm_rank(MPI_COMM_WORLD,&my_rank);
MPI_COMM_size(MPI_COMM_WORLD,&p);
gherr=gethostname(hname,silen);
if(my_rank!=0)
{
sprintf(message,"Bonjour du process %d sur le noeud esclave %s",my_rank,hname);
dest=0;
MPI_Send(message,strlen(message)+1,MPI_CHAR,dest,tag,MPI_COMM_WORLD);
}
else
{
printf("message bien recu par le process %d sur le noeud maitre %s\n\n",my_rank,hname);
for(source=1;source<p;source++)
{
MPI_Recv(message,800,MPI_CHAR,source,tag,MPI_COMM_WORLD,&status);
printf("%s\n",message);
}
}
MPI_Finalize();
printf("fin du programme\n");
return EXIT_SUCCESS;
}
Pendant mon cours, j'ai appris que la ligne de commande, pour la compilation, était :
mpicc.mpich -o main.c -o out
ou mpicc est le grappeur de la grappe de calcul. Sur mon PC (Suse Pro 9.3) j'ai 2 biprocesseur (donc 4 processeur). Et il ne connait pas mpicc.
Que dois-je faire pour compiler mon prgm ? et pou l'éxécuter ?
Merci.
A voir également:
- [programmation parallèle MPI] : pb de compil
- Application de programmation - Guide
- Programmation envoi sms - Guide
- Votre programmation n'a pas pu être posée ✓ - Forum Box et Streaming vidéo
- Problème de programmation digicode extel klavy 3 ✓ - Forum Loisirs / Divertissements
- Mpi signification sms - Forum Samsung