|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre régulier
![]() Inscription : novembre 2006 Messages : 349 ![]() |
Bonjour,
Une question assez simple, Un programme C++ multithread avec Boost.thread sur une machine a X processeurs de Y coeurs. Est ce que le systeme utilisera: - 1 proc mais ses Y coeurs - Les X procs avec leurs Y coeurs ? J'essaye de voir sur le net mais tout est dit et son contraire. Comment etre certain d'utiliser toutes les ressources (X * Y coeurs) ? On entend parler d'OpenMp, je pensais que c'était juste une facon differente de faire du multithread, comme Boost.thread ou autre. Merci pour vos infos. Bonne fin de journée |
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() Pierre Ingénieur développement logiciels Inscription : juin 2007 Messages : 1 175 ![]() |
Pour ce que j'en sais, c'est l'OS qui fait comme il veut.
Je crois que pour Linux, au moins, il y a des possibilités de configuration de l'algorithme de répartition.
__________________
Mes principes de bases du codeur qui veut pouvoir dormir:
|
|
00
|
|
|
#3 |
|
Membre chevronné
![]() ![]() Inscription : décembre 2008 Messages : 490 ![]() |
Avec Boost.Thread il existe hardware_concurrency() pour savoir combien de threads peuvent tourner "matériellement" en parallèle.
|
|
|
10
|
|
|
#4 |
|
Membre régulier
![]() Inscription : novembre 2006 Messages : 349 ![]() |
Bonjour,
Je remonte ce post afin de savoir si à l'inverse il est possible de fixer le nombre de coeur utilisés pour ne pas tout monopoliser. Merci d'avance |
|
|
00
|
|
|
#5 |
|
Membre éprouvé
![]() Étudiant Inscription : février 2012 Messages : 206 ![]() |
Avec OpenMP, tu as la variable d'environnement OMP_NUM_THREADS pour spécifier le nombre de threads à utiliser.
Avec Boost.Thread, ça dépend du nombre de threads que tu créés dans le programme (?) |
|
|
10
|
|
|
#6 |
|
Membre régulier
![]() Inscription : novembre 2006 Messages : 349 ![]() |
Ok justement c'est ce que je pensais, il faut donc que je definisse dans mon main thread le lancement de X threads seulement.
Je vais creer un nouveau thread car ma question n'a plus lien avec le sujet ici. Merci |
|
|
00
|
Copyright © 2000-2013 - www.developpez.com