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

Threads & Processus C++ Discussion :

OpenMP et Qthread


Sujet :

Threads & Processus C++

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre �prouv� Avatar de uriotcea
    Homme Profil pro
    Ing�nieur / physicien
    Inscrit en
    Septembre 2003
    Messages
    1 301
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : Ing�nieur / physicien
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2003
    Messages : 1 301
    Par d�faut OpenMP et Qthread
    Bonjour,

    J'ai quelques soucies avec openMP. Si je fais ca dans le main de mon code

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
     
       omp_set_num_threads(3);
       #pragma omp parallel
       printf("Hello, world.\n");
    j'obtient bien 3 fois "Hello.."

    Mais si je fais de m�me dans un thread // par example un QThread issue de Qt4.5 ca plante diectement � la premiere ligne.
    Cela signifie-t-il que l'on ne peut utiliser les directive openMP que dans le thread principale ?
    Si quelqu'un � quelques exp�riences de openMP je suis preneur

    Merci d'avance

  2. #2
    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
    printf n'est normalement pas thread safe. D'o� le plantage � mon avis.
    Essai,
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    omp_set_num_threads(3);
    #pragma omp parallel
    qDebug() <<"Hello, world.\n";
    pour voir

  3. #3
    Membre �prouv� Avatar de uriotcea
    Homme Profil pro
    Ing�nieur / physicien
    Inscrit en
    Septembre 2003
    Messages
    1 301
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : Ing�nieur / physicien
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2003
    Messages : 1 301
    Par d�faut
    C'est l'example fournit avec openMP et ca plante d� la pr�miere fonction "omp_set_num_threads" avant m�me d'arriver au fprint

  4. #4
    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
    sous visual, ceci marche

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    #include <QtGui>
    #include <omp.h>
     
    class thread : public QThread
    {
        void run()
        {
            omp_set_num_threads(5);
            #pragma omp parallel
            qDebug() <<"Hello, world_thread.\n";
        }
    };
     
    int main(int argc, char *argv[])
    {
        QApplication app(argc,argv);
     
     
        omp_set_num_threads(3);
        #pragma omp parallel
        qDebug() <<"Hello, world.\n";
     
        thread t;
        t.start();
        t.wait();
     
        return 0;
    }

  5. #5
    Membre �prouv� Avatar de uriotcea
    Homme Profil pro
    Ing�nieur / physicien
    Inscrit en
    Septembre 2003
    Messages
    1 301
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : Ing�nieur / physicien
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2003
    Messages : 1 301
    Par d�faut
    Oui, je viens d'essayer sous linux et ca fonctionne bien. Je ne sais pas quel est mon probleme sous windows. Je n'ai pas du inclure la bonne librairie pthread ou quelquechose comme ca.
    Je vais explorer ca
    Merci encore

  6. #6
    Membre �prouv� Avatar de uriotcea
    Homme Profil pro
    Ing�nieur / physicien
    Inscrit en
    Septembre 2003
    Messages
    1 301
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : Ing�nieur / physicien
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2003
    Messages : 1 301
    Par d�faut
    Ok je viens de tester ton example et j'ai moi ca plante sur la ligne "omp_set_num_threads(5)" dans le thread. Je ne comprend pas ce qui se passe.
    Alors je suis en Qt4.5.3, gcc4.4.0, lib Qt en static , pthread et libgomp en static aussi. Qu'en est-il pour toi ?

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. GCC PTHREAD OPENMP MACOSX
    Par epsilon68 dans le forum Autres �diteurs
    R�ponses: 1
    Dernier message: 30/11/2007, 01h46
  2. 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
  3. TBB vs OpenMP
    Par yan dans le forum C++
    R�ponses: 3
    Dernier message: 24/08/2007, 00h30
  4. OpenMP & Library
    Par uriotcea dans le forum C++
    R�ponses: 8
    Dernier message: 04/10/2006, 22h16
  5. OpenMP sous Visual 2005
    Par teddy fredaigues dans le forum MFC
    R�ponses: 6
    Dernier message: 19/01/2006, 14h43

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