MPI et parallélisation

MPI et parallélisation - C++ - Programmation

Marsh Posté le 07-01-2008 à 00:34:31    

bonjour,
j'ai un petit problème dans l'utilisation de MPI
j'ai mis la bibliothèque MPI.h dans mon répertoire qui contient mon projet
et pui voila le petit code:

Code :
  1. #include <stdio.h>
  2. #include "mpi.h"
  3. int main (int argc, char *argv[]) {
  4. int err;
  5. err = MPI_Init(&argc, &argv);
  6. printf("Hello world!\n" );
  7. err = MPI_Finalize();
  8. return 0;
  9. }


il me renvoie:
error C2065: 'MPI_Init' : undeclared identifier
error C2065: 'MPI_Finalize' : undeclared identifier
 
comment faire?
merci d'avance .

Reply

Marsh Posté le 07-01-2008 à 00:34:31   

Reply

Marsh Posté le 07-01-2008 à 03:29:14    

Et sinon tu as rajouté la bilbiothèque MPI à l'édition des liens ?

Reply

Marsh Posté le 07-01-2008 à 09:09:18    

ca manque de -L et de -I tout ça.
Ou alors, tu compile avec gcc au lieu de mpicc ;)

Reply

Marsh Posté le 08-01-2008 à 23:54:38    

oui j'ai ajouté tout les lib et les include dans le settings de visual C++

Reply

Marsh Posté le 08-01-2008 à 23:57:56    

et j'ai mis MPi.h dans le dossier de mon projet, il me demande Mpi_config.h et mpi-types.h puis aprés que j'ajoute ces 2 fichiers il me dit:
error C2065: 'MPI_Init' : undeclared identifier  
error C2065: 'MPI_Finalize' : undeclared identifier  

Reply

Marsh Posté le 09-01-2008 à 08:43:42    

check tes path, ca ressemble vraiment à WC++ qui regarde pas ou il faut.

Reply

Marsh Posté le 09-01-2008 à 20:28:08    

vous pouvez m'expliquer plus?
merci

Reply

Marsh Posté le 10-01-2008 à 07:49:23    

T'es sur que t'as pas une erreur de compil avant qui te dit qu'il ne trouve pas "mpi.h" ?

Reply

Marsh Posté le 10-01-2008 à 19:11:22    

voila un autre exemple qui fonctionne pas:
 
#include <stdio.h>
#include "mpi.h"
 
void main (int argc, char *argv[]) {
int myrank, size;
MPI_Init(&argc, &argv); /* Initialize MPI */
MPI_Comm_rank(MPI_COMM_WORLD, &myrank); /* Get my rank */
MPI_Comm_size(MPI_COMM_WORLD, &size); /* Get the total
number of processors */
printf("Processor %d of %d: Hello World!\n", myrank, size);
MPI_Finalize(); /* Terminate MPI */
}

Reply

Marsh Posté le 10-01-2008 à 19:40:13    

je le repete, tu n'as pas réglé correctement le PATH pour que ton compilateur trouve les .lib/.h de MPI

Reply

Marsh Posté le 10-01-2008 à 19:40:13   

Reply

Marsh Posté le 11-01-2008 à 20:31:25    

mais si, tout est expliquer dans la documentation

Reply

Marsh Posté le 12-01-2008 à 09:02:10    

Ace17 a écrit :

T'es sur que t'as pas une erreur de compil avant qui te dit qu'il ne trouve pas "mpi.h" ?


 :o

Reply

Marsh Posté le 12-01-2008 à 13:19:55    

oui sur

Reply

Marsh Posté le 12-01-2008 à 13:59:45    

Bon, t'as pas un autre fichier qui s'appelle mpi.h dans le meme repertoire par hasard?
Pourrais tu poster l'output COMPLET de ton compilo a chaque exemple, au lieu de juste dire "ca fonctionne pas"? Par exemple, j'aurais bien aime, sur ton deuxieme exemple, savoir si MPI_Comm_rank pose probleme au meme titre que MPI_Init...

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed