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

Autres éditeurs Discussion :

GCC PTHREAD OPENMP MACOSX


Sujet :

Autres éditeurs

  1. #1
    Membre émérite
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 354
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 354
    Par défaut GCC PTHREAD OPENMP MACOSX
    Hello,

    Je compile gcc 4.2 sur mon macosx intel core 2 duo,
    tout compile parfaitement... genial quoi !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ./configure --enable-languages=c,c++ --enable-threads
    le mega gros probleme qu'il ne detecte pas les deux core avec le petit programme attaché utilisant OPENMP...
    Meme dans un environnement multi-thread, il ne semble pas utiliser les deux cores...

    J'ai essayé icc et ca marche très bien ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    #include <omp.h>
    #include <iostream>
     
    using namespace std;
     
    int main() {
     
    	cout << omp_get_max_threads() << endl;
     
    	return 0;
    }
    Quelqu'un pourrait-il m'aider ? je suis a bout de nerf

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    110
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 110
    Par défaut
    Bonjour,

    juste au cas où, la commande de compilation est bien:

    $ g++ -fopenmp main.cpp

    ?

    Sinon, d'après la norme OpenMP, c'est normal qu'il ne te détecte pas tes threads. l'appel à la fonction omp_get_max_threads() doit se situer dans une région parallèle. C'est bizarre que icc te détecte les deux threads. Je vérifierai.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    #include <omp.h>
    #include <iostream>
     
    using namespace std;
     
    int main() {
    #pragma omp parallel
      {
    	cout << omp_get_max_threads() << endl;
      }
    	return 0;
    }
    Sinon, le export OMP_NUM_THREADS ?
    Avec mon gcc 4.2, ton bout de code fonctionne...

Discussions similaires

  1. Perte de memoire avec mingw et pthread ou openMP
    Par uriotcea dans le forum Threads & Processus
    Réponses: 0
    Dernier message: 10/03/2010, 12h45
  2. Gcc 3.4 et openmp
    Par hannibal81 dans le forum Linux
    Réponses: 1
    Dernier message: 02/03/2010, 20h39
  3. Option linker pthread gcc
    Par Nykoo dans le forum C
    Réponses: 30
    Dernier message: 17/01/2008, 12h17
  4. Qt macosx gcc & icc openmp
    Par epsilon68 dans le forum Programmation parallèle, calcul scientifique et de haute performance (HPC)
    Réponses: 34
    Dernier message: 29/10/2007, 11h07
  5. [GCC-MACosX]mais où est readkey() du pascal
    Par Van der Elst dans le forum C
    Réponses: 2
    Dernier message: 14/06/2006, 01h16

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