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 :

[OpenMP]Obtenir le nombre de threads comme une constante


Sujet :

C++

  1. #1
    Membre éprouvé
    Avatar de méphistopheles
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 551
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 551
    Points : 1 220
    Points
    1 220
    Par défaut [OpenMP]Obtenir le nombre de threads comme une constante
    Bonjour.

    J'ignore si ce sujet est véritablement à sa place, mais OpenMP étant "presque" une fonctionnalité intégrée à la plupart des compilateurs, je poste sur le forum général. Et je prie les modérateurs de m'excuser au cas ou je me serais trompé.

    Je cherche à obtenir le nombre de threads qu'utilise OpenMP lors de la précompilation : en effet, j'ai besoin de créer un certain nombre de variable provisoires... et ce nombre dépend du nombre de threads. Toutefois, allouer ces variables de façon dynamique me parait lourd et je me demandais s'il n'était pas possible de le faire de façon statique, mais c'est là qu'est l'os: en effet, s'il existe une fonction pour récupérer le nombre de threads (omp_get_num_threads()), obtenir cette valeur à la compilation parait plus difficile.
    Pourtant la variable d'environnement OMP_NUM_THREAD existe bien à la compilation. Je ne sais par contre pas si le code s'adapte une fois compilé à différentes machines ou s'il faut le recompiler à chaque fois ... dans le second cas, il devrait-être possible de faire ce que je veux. sinon... je serais quitte pour le dynamique...


    Dans l'attente de vos réponses

    Cordialement
    Méphistophélès
    Si la solution ne résout pas votre problème, changez le problème...
    Cours et tutoriels C++ - FAQ C++ - Forum C++.

  2. #2
    Expert confirmé

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2007
    Messages
    1 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 895
    Points : 4 551
    Points
    4 551
    Par défaut
    C'est une variable d'environnement. A moins de la transformer en #define à la compilation (en passant /DOMG_NUM_THREAD=%OMG_NUM_THREAD% à la ligne de commande du compilateur), tu ne vas pas pouvoir aller bien loin.

    Et puisque c'est une variable d'environnement, il suffit que tu la changes (programme déjà compilé) pour que le traitement change ; du coup, ton programme n'aura pas la bonne valeur.

    Au final, je ne penses pas que tu puisse faire autrement que créer les variables au runtime.
    [FAQ des forums][FAQ Développement 2D, 3D et Jeux][Si vous ne savez pas ou vous en êtes...]
    Essayez d'écrire clairement (c'est à dire avec des mots français complets). SMS est votre ennemi.
    Evitez les arguments inutiles - DirectMachin vs. OpenTruc ou G++ vs. Café. C'est dépassé tout ça.
    Et si vous êtes sages, vous aurez peut être vous aussi la chance de passer à la télé. Ou pas.

    Ce site contient un forum d'entraide gratuit. Il ne s'use que si l'on ne s'en sert pas.

  3. #3
    Membre éprouvé
    Avatar de méphistopheles
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 551
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 551
    Points : 1 220
    Points
    1 220
    Par défaut
    Merci

    C'est cette information que je cherchais.

    Cordialement
    Méphistophélès
    Si la solution ne résout pas votre problème, changez le problème...
    Cours et tutoriels C++ - FAQ C++ - Forum C++.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 03/10/2013, 13h13
  2. Comment obtenir le nombre de ligne dans une requête ?
    Par totoAussi dans le forum Requêtes
    Réponses: 8
    Dernier message: 06/09/2011, 17h28
  3. fonction pour obtenir le nombre d'enregistrement d'une table avec php
    Par chris0938 dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 26/07/2010, 14h11
  4. [DirectShow] OBtenir le nombre d'images d'une vidéo.
    Par cyber_N dans le forum DirectX
    Réponses: 18
    Dernier message: 24/10/2005, 22h01
  5. Réponses: 28
    Dernier message: 22/09/2005, 11h57

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