IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

pb de parall�lisation


Sujet :

C++

  1. #1
    Inactif
    Inscrit en
    Novembre 2007
    Messages
    369
    D�tails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 369
    Par d�faut pb de parall�lisation
    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 :

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


    il me renvoie:
    error C2065: 'MPI_Init' : undeclared identifier
    error C2065: 'MPI_Finalize' : undeclared identifier

    comment faire?
    merci d'avance .

  2. #2
    Expert �minent
    Avatar de M�dinoc
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 397
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 41
    Localisation : France

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 397
    Par d�faut
    Si tu compiles en C++, regarde s'il n'y a pas une histoire de namespace quelque part...
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parl� avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  3. #3
    Inactif
    Inscrit en
    Novembre 2007
    Messages
    369
    D�tails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 369
    Par d�faut
    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

  4. #4
    Membre confirm�
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    76
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 76
    Par d�faut re:
    Il y a pas une histoire de constructeur ?

    un truc du genre :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    Mpi objet;
    objet.MPI_Init()
    objet.MPI_Finalize

  5. #5
    Membre averti
    Inscrit en
    D�cembre 2007
    Messages
    23
    D�tails du profil
    Informations forums :
    Inscription : D�cembre 2007
    Messages : 23
    Par d�faut
    Quel compilateur utilises-tu ? As-tu un Makefile ?
    Sous UNIX avec g++, tu dois ajouter -lmpi_r a tes options de compilation.

  6. #6
    Expert �minent
    Avatar de M�dinoc
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 397
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 41
    Localisation : France

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 397
    Par d�faut
    Mais fatjoe n'a pas une erreur d'�dition de liens (pour l'instant), il a une erreur de compilation...
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parl� avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  7. #7
    Membre averti
    Inscrit en
    D�cembre 2007
    Messages
    23
    D�tails du profil
    Informations forums :
    Inscription : D�cembre 2007
    Messages : 23
    Par d�faut
    Citation Envoy� par M�dinoc Voir le message
    Mais fatjoe n'a pas une erreur d'�dition de liens (pour l'instant), il a une erreur de compilation...
    En effet, c'est identifier, pas reference.
    Est-ce que mpi.h fait reference a d'autres headers qui manquent?

  8. #8
    Membre Expert
    Avatar de poukill
    Profil pro
    Inscrit en
    F�vrier 2006
    Messages
    2 155
    D�tails du profil
    Informations personnelles :
    �ge : 41
    Localisation : France

    Informations forums :
    Inscription : F�vrier 2006
    Messages : 2 155
    Par d�faut
    Citation Envoy� par fatjoe Voir le message
    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
    C'est pas plut�t les options de ton projet qui ne vont pas? Par l� je veux dire sp�cifier les chemins des headers et des biblioth�ques (.a ou .lib)

  9. #9
    Inactif
    Inscrit en
    Novembre 2007
    Messages
    369
    D�tails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 369
    Par d�faut
    j'ai ajout�s les path dans options/directories

    C:\PROGRAM FILES\MPICH\SDK\INCLUDE

    et

    C:\PROGRAM FILES\MPICH\SDK\LIB

    mais j'ai encore le meme pb

  10. #10
    Expert �minent
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 644
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 53
    Localisation : Belgique

    Informations professionnelles :
    Activit� : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 644
    Par d�faut
    Salut,

    Une petite remarque toute bete...

    Si tu inclu ton fichier sous la forme de
    ou si tu l'inclu sous la forme de
    cela va normalement changer la mani�re de travailler du compilateur...

    Dans le premier cas, il va chercher dans les dossiers du projet en lui-m�me, alors que, dans le deuxi�me, il va chercher dans les dossiers qui ont �t� indiqu�s comme contenant les fichiers d'en-tetes dans les options de compilation

    Etant donn� que tu n'a (sans doute) pas copi� les fichiers d'entete de mpi dans le dossier de ton projet, je pense que le fait de remplacer les "double quotes" par < et > devrait r�soudre ton probl�me du moins, apres avoir indiqu� les dossiers dans lequel se trouve le fichier d'en-tete dans les options de compilation
    A m�diter: La solution la plus simple est toujours la moins compliqu�e
    Ce qui se con�oit bien s'�nonce clairement, et les mots pour le dire vous viennent ais�ment. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 f�vrier 2014
    mon tout nouveau blog

  11. #11
    yan
    yan est d�connect�
    R�dacteur
    Avatar de yan
    Homme Profil pro
    Ing�nieur expert
    Inscrit en
    Mars 2004
    Messages
    10 035
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activit� : Ing�nieur expert
    Secteur : High Tech - Multim�dia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 035
    Par d�faut
    Citation Envoy� par koala01 Voir le message
    Dans le premier cas, il va chercher dans les dossiers du projet en lui-m�me, alors que, dans le deuxi�me, il va chercher dans les dossiers qui ont �t� indiqu�s comme contenant les fichiers d'en-tetes dans les options de compilation

    ????
    Pourtant ce code compile

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    #include "iostream"
     
    using namespace std;
     
    int main()
    {
        cout << "Hello world!" << endl;
        return 0;
    }

  12. #12
    Membre Expert
    Avatar de poukill
    Profil pro
    Inscrit en
    F�vrier 2006
    Messages
    2 155
    D�tails du profil
    Informations personnelles :
    �ge : 41
    Localisation : France

    Informations forums :
    Inscription : F�vrier 2006
    Messages : 2 155
    Par d�faut
    J'aurai dit comme Koala pourtant ...

  13. #13
    Expert �minent
    Avatar de M�dinoc
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 397
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 41
    Localisation : France

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 397
    Par d�faut
    Impossible que les fichier d'en-t�te soient manquants:
    1. On aurait eu une erreur
    2. fatjoe compile sous Visual, donc on n'aurait rien eu d'autre (contrairement � gcc qui essaie de compiler quand m�me et nous sert une pile d'erreurs).
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parl� avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  14. #14
    Expert �minent
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 644
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 53
    Localisation : Belgique

    Informations professionnelles :
    Activit� : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 644
    Par d�faut
    Citation Envoy� par Mongaulois Voir le message

    ????
    Pourtant ce code compile

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    #include "iostream"
     
    using namespace std;
     
    int main()
    {
        cout << "Hello world!" << endl;
        return 0;
    }
    au temps pour moi... c'est l'inverse...

    #include <unfichier> ne va rechercher le fichier que dans les dossiers d�finis comme contenant les fichiers d'en-t�te au niveau de projet, alors que #include "fichier" va le chercher, en priorit� dans le dossier dont le chemin relatif est calcul� par rapport au fichier o� l'inclusion est faite, puis dans les dossiers d�finis comme contenant les fichiers d'en-t�te au niveau du projet

    Ainsi
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
     
    #include "iostream"
    #include "laclass.h"
    int maint()
    {
        /*...*/
        return 0;
    }
    compilera l� o�
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    #include <iostream>
    #include <laclass.h>
    int main()
    {
        /*...*/
        return 0;
    }
    ne compilera pas si le dossier repr�sent� par le chemin relatif au d�part duquel le fichier dans lequel l'inclusion a lieu se trouve (ici ".") n'est pas indiqu� comme dossier de recherche de fichier d'en-tetes
    A m�diter: La solution la plus simple est toujours la moins compliqu�e
    Ce qui se con�oit bien s'�nonce clairement, et les mots pour le dire vous viennent ais�ment. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 f�vrier 2014
    mon tout nouveau blog

  15. #15
    yan
    yan est d�connect�
    R�dacteur
    Avatar de yan
    Homme Profil pro
    Ing�nieur expert
    Inscrit en
    Mars 2004
    Messages
    10 035
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activit� : Ing�nieur expert
    Secteur : High Tech - Multim�dia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 035
    Par d�faut
    ok...
    je veut bien vous croire...
    Perso, je n'ai jamais eu de probl�me as utilise "" et <>.
    J'�tais persuad� que c'�tait la m�me chose sauf qu'en C++ on pr�f�re les <>

  16. #16
    Membre confirm�
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    76
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 76
    Par d�faut re:
    moi en tout cas je fais soi:

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
     
    #include <iostream>
    using namespace std;
    soi:

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     
    #include <iostream.h>
    pour une class dans le dossier de mon projet:

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     
    #include "maClass.h"
    si la classe ce situe dans le dossier projet/include/maClasse.h:

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     
    #include "include/maClass.h"

  17. #17
    Inactif
    Inscrit en
    Novembre 2007
    Messages
    369
    D�tails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 369
    Par d�faut
    merci les gars mais vous n'avez pas r�solu mon probl�me

  18. #18
    yan
    yan est d�connect�
    R�dacteur
    Avatar de yan
    Homme Profil pro
    Ing�nieur expert
    Inscrit en
    Mars 2004
    Messages
    10 035
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activit� : Ing�nieur expert
    Secteur : High Tech - Multim�dia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 035
    Par d�faut
    Citation Envoy� par fatjoe Voir le message
    merci les gars mais vous n'avez pas r�solu mon probl�me
    As tu essaie de remplacer
    #include "mpi.h"
    par
    #include <mpi.h>

  19. #19
    Inactif
    Inscrit en
    Novembre 2007
    Messages
    369
    D�tails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 369
    Par d�faut
    oui bien sur, mais �a n'a rien changer

  20. #20
    yan
    yan est d�connect�
    R�dacteur
    Avatar de yan
    Homme Profil pro
    Ing�nieur expert
    Inscrit en
    Mars 2004
    Messages
    10 035
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activit� : Ing�nieur expert
    Secteur : High Tech - Multim�dia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 035
    Par d�faut
    Citation Envoy� par fatjoe Voir le message
    oui bien sur, mais �a n'a rien changer
    oups.
    Je croit que l'on s'est emball� pour rien...
    En faite il doit bien le trouver le .h. Puisque tu n'as pas d'erreur sur l'include.
    Par contre c'est pour C ou C++??
    http://linux.die.net/man/3/mpi_init

    as tu essay�
    Code C++ : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    #include <stdio.h>
    #include <mpi.h>
    int main (int argc, char *argv[]) {
        MPI::Init(&argc, &argv);
        printf("Hello world!\n" );
        MPI::Finalize();
        return 0;
    }

+ R�pondre � la discussion
Cette discussion est r�solue.
Page 1 sur 2 12 Derni�reDerni�re

Discussions similaires

  1. R�ponses: 9
    Dernier message: 20/08/2007, 22h09
  2. Sunopsis - Parall�liser 2 packages pour gagner du temps ?
    Par claclapub dans le forum Alimentation
    R�ponses: 0
    Dernier message: 23/07/2007, 15h29
  3. Parall�lisation d'un appel � "new"
    Par Lsong dans le forum SDL
    R�ponses: 8
    Dernier message: 28/03/2007, 10h07
  4. Suite de Fibonacci parall�lis�e
    Par nicolas66 dans le forum Algorithmes et structures de donn�es
    R�ponses: 6
    Dernier message: 07/12/2006, 22h04
  5. Parall�lisation de code Java sur plusieurs machines
    Par Jester dans le forum API standards et tierces
    R�ponses: 8
    Dernier message: 05/12/2006, 12h01

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo