#1 Le 24/03/2010, à 22:08
- Franzzzzzzzz
Utiliser tous les processeurs pour faire tourner un programme
Bonjour,
mon ordinateur a un dual core, et je cherche un moyen d'autoriser un programme à utiliser la totalité de la puissance de calcul des deux processeur pour s'exécuter. Actuellement quand je le lance l'un des processeur est utilisé à 100% et l'autre 30% environ (inchangé au lancement, il gère visiblement les autres processus).
Je n'ai pas trouvé d'outil de base pour faire ça dans kde, et mes recherches internet sont infructueuses (je ne vois pas trop quels mots clefs mettre ...).
Je suis sous Ubuntu 9.10 + kde 3.5.
Si vous avez une idée, merci d'avance.
Hors ligne
#2 Le 24/03/2010, à 22:16
- Zenigata
Re : Utiliser tous les processeurs pour faire tourner un programme
Euh, sauf si ton programme est écrit de telle sorte à pouvoir utiliser les deux cœurs, tu ne pourras pas.
Et si c'est le cas, en générale ça se fait tout seul (parfois le programme à une option qui lui dit combien de cœurs utiliser)
Hors ligne
#3 Le 24/03/2010, à 23:25
- Franzzzzzzzz
Re : Utiliser tous les processeurs pour faire tourner un programme
Mince, c'est bien ce que je craignais.
Il faudrait donc que je rajoute la fonction à mon programme ... Pas gagné ça ...
Tant que je suis là, quelqu'un connaît une librairie pour faire ce genre de choses facilement en C ?? (on sait jamais).
Merci de ta réponse en tout cas !
Hors ligne
#4 Le 25/03/2010, à 09:52
- francoisp31
Re : Utiliser tous les processeurs pour faire tourner un programme
pour favoriser le plus possible la prise en charge par les machines multi-processeurs ou multi-coeurs, il faut que le programme soit écrit de sorte à utiliser le plus possible de threads
en gros pour résumé 1 fonction majeure (au sens fonctionnel du terme pas au sens fonction en C) doit être un thread dans le code...
après c'est que de la gestion thread parents/enfants/priorités ....
là on est sur que les systèmes répartirons bien la charge dans la machine qu'elle soit SMP ou bi-coeurs ou monoprocesseur-monocoeur
après voir un gars expérimenté en prog pour voir si ça joue plustot au niveau threads, ou au niveau processus générés par le code, ou mutex..... ou les 3 ???
en tout cas tout programme doit/devrai être écrit pour prendre en charge des processus multiples & des threads multiples pour justement tjrs tirer le meilleur partie de la machine sur laquelle il est éxécuté mais au delà de la théorie je ne sais pas...
Que les puces d'un millier de chiens galleux infeste le cul de celui qui osera vous gacher ne serai ce
qu'une seule journée de votre vie et que les bras lui soient trop court pour qu'il puisse se le gratter.
Hors ligne
#5 Le 25/03/2010, à 14:47
- Franzzzzzzzz
Re : Utiliser tous les processeurs pour faire tourner un programme
Bon, je n'ai pas tout compris à ton post, ma connaissance en threads en C est un peu limité. Je regarderai ça un de ces jours quand j'aurai plus de temps, et que j'en aurai un besoin plus pressant. En tout cas merci pour ces précisions.
Hors ligne