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 :

détecter le nombre de coeurs


Sujet :

C

  1. #1
    Membre confirmé

    Profil pro
    Étudiant
    Inscrit en
    Janvier 2007
    Messages
    72
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2007
    Messages : 72
    Par défaut détecter le nombre de coeurs
    salut à tous,
    je m'initie à la programmation multi-threadée avec pthread (à ce sujet: je recontre quelques problèmes de compilation sur linux...) et je voulais simplement savoir s'il existait un moyen simple et portable de détecter le nombre de coeurs du(des) processeur(s), afin de créer un nombre de threads en conséquence...
    cordialement,
    Bornerdogge

  2. #2
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par Bornerdogge Voir le message
    je m'initie à la programmation multi-threadée avec pthread (à ce sujet: je recontre quelques problèmes de compilation sur linux...) et je voulais simplement savoir s'il existait un moyen simple et portable de détecter le nombre de coeurs du(des) processeur(s), afin de créer un nombre de threads en conséquence...
    Ca dépend du système. Il doit y avoir cette information dans la configuration...

  3. #3
    Membre confirmé

    Profil pro
    Étudiant
    Inscrit en
    Janvier 2007
    Messages
    72
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2007
    Messages : 72
    Par défaut
    je vais aller voir.
    en principe ça devrait marcher sous windows et linux, mais ça ne pose pas de problème d'avoir 2 méthodes différentes...

    mon problème de compilation:
    je suis parvenu à compiler avec pthread sous windows, mais pas sous linux.
    sous linux:
    avec les paquets libpthread-dev et libpthread2 installés, l'option '-lpthread' lors de l'appel de GCC et '#include <pthread.h>' dans le fichier, voici les probs:

    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
    In file included from main.c:3:
    /usr/include/pthread.h:285: error: conflicting types for ‘pthread_t’
    /usr/include/bits/pthreadtypes.h:50: error: previous declaration of ‘pthread_t’ was here
    /usr/include/pthread.h:286: error: conflicting types for ‘pthread_attr_t’
    /usr/include/bits/pthreadtypes.h:57: error: previous declaration of ‘pthread_attr_t’ was here
    /usr/include/pthread.h:287: error: conflicting types for ‘pthread_key_t’
    /usr/include/bits/pthreadtypes.h:140: error: previous declaration of ‘pthread_key_t’ was here
    /usr/include/pthread.h:289: error: conflicting types for ‘pthread_mutexattr_t’
    /usr/include/bits/pthreadtypes.h:110: error: previous declaration of ‘pthread_mutexattr_t’ was here
    /usr/include/pthread.h:290: error: conflicting types for ‘pthread_mutex_t’
    /usr/include/bits/pthreadtypes.h:104: error: previous declaration of ‘pthread_mutex_t’ was here
    /usr/include/pthread.h:291: error: conflicting types for ‘pthread_condattr_t’
    /usr/include/bits/pthreadtypes.h:136: error: previous declaration of ‘pthread_condattr_t’ was here
    /usr/include/pthread.h:292: error: conflicting types for ‘pthread_cond_t’
    /usr/include/bits/pthreadtypes.h:130: error: previous declaration of ‘pthread_cond_t’ was here
    /usr/include/pthread.h:293: error: conflicting types for ‘pthread_rwlockattr_t’
    /usr/include/bits/pthreadtypes.h:192: error: previous declaration of ‘pthread_rwlockattr_t’ was here
    /usr/include/pthread.h:294: error: conflicting types for ‘pthread_rwlock_t’
    /usr/include/bits/pthreadtypes.h:186: error: previous declaration of ‘pthread_rwlock_t’ was here
    aurais-je fait quelque-chose de mal lors de l'install de pthread??

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 11
    Par défaut
    Pour avoir le nombre de processeurs sous linux, il faut ouvrir le fichier /proc/cpuinfo et compter le nombre de lignes où il y a écrit "processor"

    Sous Windows :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SYSTEM_INFO siSysInfo;
    GetSystemInfo(&siSysInfo);
    Le nombre de processeurs est dans : siSysInfo.dwNumberOfProcessors;
    Pour Mac : http://www.developpez.net/forums/sho...d.php?t=325521

    Je pense qu'avec ça, tu dois tout avoir.

  5. #5
    Membre confirmé

    Profil pro
    Étudiant
    Inscrit en
    Janvier 2007
    Messages
    72
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2007
    Messages : 72
    Par défaut
    merci, je vais essayer ça tout de suite

    pendant que tu postais j'écrivais une réponse, elle est 2 posts plus haut...

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 11
    Par défaut
    Chez moi, je n'ai aucun problème de compilation avec les threads. J'utilise bien sûr l'argument -lpthread pour gcc.

    Par contre, contrairement à toi, je n'ai ni libpthread-dev ni libpthread2 d'installé. Essaie en les désinstallant. Le fichier pthread.h vient, chez moi, du paquet libc6-dev.

  7. #7
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par MrBonheur Voir le message
    Chez moi, je n'ai aucun problème de compilation avec les threads. J'utilise bien sûr l'argument -lpthread pour gcc.

    Par contre, contrairement à toi, je n'ai ni libpthread-dev ni libpthread2 d'installé. Essaie en les désinstallant. Le fichier pthread.h vient, chez moi, du paquet libc6-dev.
    Mon petit doigt me dit que vous êtes dans la même école, même classe, même prof, même exercice...

  8. #8
    Membre habitué
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 11
    Par défaut
    Mon petit doigt me dit que vous êtes dans la même école, même classe, même prof, même exercice...
    Non, Non... Pour ma part, je développe "à mon compte". C'est simplement que je m'intéresse aux threads et multi-processeurs depuis quelques temps et quand on peut aider...

  9. #9
    Membre confirmé

    Profil pro
    Étudiant
    Inscrit en
    Janvier 2007
    Messages
    72
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2007
    Messages : 72
    Par défaut
    Citation Envoyé par Emmanuel Delahaye Voir le message
    Mon petit doigt me dit que vous êtes dans la même école, même classe, même prof, même exercice...
    ça m'étonnerait à 15 ans on fait pas ça à l'école

    *EDIT*
    tout marche à merveille

Discussions similaires

  1. Fonction pour détecter un nombre pair
    Par cre3000 dans le forum Débuter
    Réponses: 5
    Dernier message: 06/12/2009, 17h26
  2. nombre de coeur
    Par uriotcea dans le forum C
    Réponses: 12
    Dernier message: 23/07/2009, 13h50
  3. Réponses: 4
    Dernier message: 24/04/2009, 20h08
  4. Connaitre l'utilisation d'un PC et son nombre de coeur
    Par sylvain.cool dans le forum C++
    Réponses: 10
    Dernier message: 14/08/2008, 14h12
  5. Nombre de coeurs/procs d'une machine
    Par Kujara dans le forum C++
    Réponses: 13
    Dernier message: 20/08/2007, 10h29

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