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

Programmation parallèle, calcul scientifique et de haute performance (HPC) Discussion :

Qt macosx gcc & icc openmp


Sujet :

Programmation parallèle, calcul scientifique et de haute performance (HPC)

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

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 354
    Par défaut Qt macosx gcc & icc openmp
    Hello,

    c'est compliqué mon affaire ...
    Comme je n'ai pas pu trouver la version mac de gcc 4.2 qui fait openmp et compile Qt, je me suis rabattu sur icc en attendant (j'utilise la version d'evaluation)

    donc j'ai compilé un example avec icc pour openmp (un simple main avec une directive openmp) compilation / execution sans probleme

    et maintenant je veux l'utiliser avec Qt 4.2.2 (sur macosx compilé avec gcc 4.0.1), je compile donc un example draganddropicons en modifiant le .pro
    QMAKE_CXX = icpc
    QMAKE_LINK = icpc

    ca marche bien mais si maintenant je rajoute l'option openmp
    QMAKE_CXXFLAGS=" -openmp "
    QMAKE_LFLAGS=" -openmp "

    et maintenant le programme s'arrête immediatement.

    S'il vous plait, est-ce que quelqu'un aurait une idée ?

    Merci

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 83
    Par défaut
    Citation Envoyé par epsilon68
    et maintenant je veux l'utiliser avec Qt 4.2.2 (sur macosx compilé avec gcc 4.0.1), je compile donc un example draganddropicons en modifiant le .pro
    QMAKE_CXX = icpc
    QMAKE_LINK = icpc
    En modifiant quel .pro ? Le mieux serait de construire au moins le programme final (et pourquoi pas Qt aussi) en utilisant mkspecs/macx-icc plutôt que mkspecs/macx-g++ :
    Je ne sais pas si ça fera disparaître le blocage, mais au moins les bonnes options de Intel C++ seront utilisées.

    Est-ce que Intel C++ et GCC sont réputés être compatibles sur Mac ?

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

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 354
    Par défaut
    je suis en train de recompiler Qt avec icc

    Je te remercie beaucoup vraiment, j'espere que ca va marcher. Je te tiens au courant de toute facon.

    genial !

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

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 354
    Par défaut
    Citation Envoyé par dimitri-trolltech
    Est-ce que Intel C++ et GCC sont réputés être compatibles sur Mac ?
    oui. le truc c'est que ca marche bien avec icc mais pas quand on rajoute l'option -openmp

    je suis en train de recompiler Qt avec icc, on va voir si c'est GCC + ICC + openmp qui est incompatible

    genial quand meme ! un grand merci en attendant la reponse !!!

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

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 354
    Par défaut
    mince ...

    donc maintenant Qt est compilé avec icc et l'example aussi
    ca marche bien sauf si j'ajoute l'option -openmp

    pour rajouter l'option je defini quand meme QMAKE_LFLAGS et QMAKE_CXXFLAGS.

    C'est bon comme ca ?

    Encore merci a+

  6. #6
    Membre éprouvé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 83
    Par défaut
    Citation Envoyé par epsilon68
    ca marche bien sauf si j'ajoute l'option -openmp
    Est-ce qu'avec option est compatible avec sans option ?

  7. #7
    Membre éprouvé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 83
    Par défaut
    Il faut savoir que mkspecs/macx-icc est encore expérimental, pas vraiment supporté. Je n'ai pas de Mac moi-même pour essayer.

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

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 354
    Par défaut
    Citation Envoyé par dimitri-trolltech
    Est-ce qu'avec option est compatible avec sans option ?
    J'en sais rien, qui pourrait nous dire ?

    Peut-etre qu'il faut compiler Qt avec cette option ?
    Et comment faudrait-il faire ?

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

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 354
    Par défaut
    Citation Envoyé par dimitri-trolltech
    Il faut savoir que mkspecs/macx-icc est encore expérimental, pas vraiment supporté. Je n'ai pas de Mac moi-même pour essayer.
    Moi je peux essayer tout ce que tu veux ... J'aimerais tellement que Qt marche avec openmp

  10. #10
    Membre éprouvé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 83
    Par défaut
    Citation Envoyé par epsilon68
    J'en sais rien, qui pourrait nous dire ?
    Aucune idée, il faudrait essayer un forum Apple.
    Citation Envoyé par epsilon68
    Peut-etre qu'il faut compiler Qt avec cette option ?
    Et comment faudrait-il faire ?
    Oui, c'est une idée. Il faut modifier mkspecs/macx-icc/qmake.conf avant de lancer configure et make en rajoutant -openmp à QMAKE_CFLAGS, QMAKE_OBJECTIVE_CFLAGS, QMAKE_LFLAGS.

    Si ça ne marche pas, j'ai bien peur que ce soit un problème du compilateur. Je ne vois aucune raison pour que Qt ne puisse fonctionner avec OpenMP.


    Il reste toujours la solution de faire des programmes séparés pour le calcul et la partie graphique, et de les faire communiquer par IPC (Inter-Process Communication), par exemple à travers une zone de mémoire partagée.

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

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 354
    Par défaut
    Salut,

    je suis en train de compiler Qt avec l'option -openmp -pthread
    j'ai effectivement modifié le fichier macx-icc.pro

    ... j'espere que ca marchera !!!

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

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 354
    Par défaut
    ... ca ne marche pas :-(

    A priori y a un pepin quelque part. C'est tres embetant !

    Y-aurait-il du retour d'experience avec Visual studio 2005 avec Qt et openmp ?

    ... c'est tres embetant !!!

    a+ et encore merci

  13. #13
    Membre éprouvé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 83
    Par défaut
    Ça fait des années que OpenMP existe sur les compilateurs Unix, à ma connaissance il n'existe pas d'incompatibilité entre OpenMP et Qt.

    Est-ce qu'il existe une doc quelque part qui explique ce que fait l'option -openmp sur Mac ?

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

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 354
    Par défaut
    Citation Envoyé par dimitri-trolltech
    Ça fait des années que OpenMP existe sur les compilateurs Unix, à ma connaissance il n'existe pas d'incompatibilité entre OpenMP et Qt.

    Est-ce qu'il existe une doc quelque part qui explique ce que fait l'option -openmp sur Mac ?
    t'es sûr ? je ne crois pas des années www.openmp.org
    il n'y a pas beaucoup de compilateur qui font openmp pour le moment
    a ma connaissance
    visual studio 2005
    gcc 4.2 (beta 3)
    icc
    peut etre le sun compiler cc (pas sûr)

    l'option -openmp transforme les directives pragma openmp en instructions plusieurs threads etc...

    Tu as peut-etre moyen de tester cela avec icc ou sur VC2005 sur Windows ?
    moi je ne peux pas win-gcc est disponible uniquement ...

    ca m'embete quand meme tres fortement tout cela .... (

  15. #15
    Membre éprouvé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 83
    Par défaut
    Citation Envoyé par epsilon68
    t'es sûr ? je ne crois pas des années www.openmp.org
    il n'y a pas beaucoup de compilateur qui font openmp pour le moment
    a ma connaissance
    visual studio 2005
    gcc 4.2 (beta 3)
    icc
    peut etre le sun compiler cc (pas sûr)
    Certain :
    Compiler and Platforms
    Ça doit bien faire 5 ans au moins qu'il existe des compilateurs OpenMP. En tout cas les compilateurs Sun, Compaq, SGI, HP, IBM, PGI supportent OpenMP depuis pas mal d'années déjà. Les compilateurs que tu cites ne sont que les derniers arrivants. En fait OpenMP était un marché de niche jusquà présent, capté par Unix et les vendeurs de compilateurs spécialisés. C'est en train de changer avec l'arrivée des processeurs multi-core.

    Citation Envoyé par epsilon68
    Tu as peut-etre moyen de tester cela avec icc ou sur VC2005 sur Windows ?
    moi je ne peux pas win-gcc est disponible uniquement ...
    À la rigueur je pourrais essayer linux-icc, malheureusement je n'ai pas le temps dans l'immédiat. Qu'entends-tu par « win-gcc est disponible uniquement ? »

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

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 354
    Par défaut
    Citation Envoyé par dimitri-trolltech
    Certain :
    Compiler and Platforms
    Ça doit bien faire 5 ans au moins qu'il existe des compilateurs OpenMP. En tout cas les compilateurs Sun, Compaq, SGI, HP, IBM, PGI supportent OpenMP depuis pas mal d'années déjà. Les compilateurs que tu cites ne sont que les derniers arrivants. En fait OpenMP était un marché de niche jusquà présent, capté par Unix et les vendeurs de compilateurs spécialisés. C'est en train de changer avec l'arrivée des processeurs multi-core.
    ... ok je ne savais pas j'avais trop la tete dans GCC, microsoft et intel.
    ..mais pourquoi GCC est autant a la traine sur OpenMP ?

    Citation Envoyé par dimitri-trolltech
    À la rigueur je pourrais essayer linux-icc, malheureusement je n'ai pas le temps dans l'immédiat. Qu'entends-tu par « win-gcc est disponible uniquement ? »
    Sur windows, j'ai VC 2005 (donc OpenMP) mais je pourrais pas compiler / utiliser Qt avec. Mon truc c'est pour m'amuser pas pour vendre....

    Merci beaucoup pour ton aide,

  17. #17
    Membre éprouvé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 83
    Par défaut
    Citation Envoyé par epsilon68
    Sur windows, j'ai VC 2005 (donc OpenMP) mais je pourrais pas compiler / utiliser Qt avec. Mon truc c'est pour m'amuser pas pour vendre....
    Oh, c'est toujours possible de compiler la version Open Source avec VC en cherchant un peu sur le Web. Mais je n'ai rien dit...

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

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 354
    Par défaut
    Citation Envoyé par dimitri-trolltech
    Oh, c'est toujours possible de compiler la version Open Source avec VC en cherchant un peu sur le Web. Mais je n'ai rien dit...
    honnetement je n'essaierais pas. C'est deontologique.
    Je respecte énormement Trolltech pour leur travail. Ca m'a tellement choqué que Microsoft n'authorise pas l'utilisation de leur produit pour du GPL que ... je suis passé sur macosx du coup a la fin.

    Si un jour je veux developper avec Qt pour un produit commercial, sans hesiter j'achete la version windows pour VC++.

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

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 354
    Par défaut
    bonjour,

    Comment il faudrait faire pour remonter l'info chez Trolltech ?
    C'est vraiment génant pour moi OpenMP qui n'est pas possible....

    a+

  20. #20
    Membre éprouvé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 83
    Par défaut
    Citation Envoyé par epsilon68
    Comment il faudrait faire pour remonter l'info chez Trolltech ?
    C'est vraiment génant pour moi OpenMP qui n'est pas possible....
    Je doute que ce soit une erreur dans Qt, et de plus ce n'est pas une config supportée. Ça m'étonnerait qu'il y ait beaucoup de répondant à court terme. Mais enfin, en signalant le problème, et si d'autres utilisateurs le signalent aussi, ça pourrait avoir un effet à plus long terme.

Discussions similaires

  1. Réponses: 8
    Dernier message: 26/05/2015, 03h40
  2. Gcc 3.4 et openmp
    Par hannibal81 dans le forum Linux
    Réponses: 1
    Dernier message: 02/03/2010, 20h39
  3. GCC PTHREAD OPENMP MACOSX
    Par epsilon68 dans le forum Autres éditeurs
    Réponses: 1
    Dernier message: 30/11/2007, 01h46
  4. [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
  5. Forcer 'inline' avec GCC ou ICC
    Par Charlemagne dans le forum Autres éditeurs
    Réponses: 4
    Dernier message: 12/05/2005, 18h22

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