web-dev-qa-db-fra.com

Comment utiliser plusieurs cœurs pour exécuter un programme

Je suis assez nouveau pour Ubuntu. J'exécute un fichier .sh qui nécessite beaucoup de temps processeur. J'ai un ordinateur avec 8 cœurs et je veux en utiliser au moins quatre. De mes recherches, j'ai essayé d'utiliser

mpirun -np 4

Je pouvais voir quatre processeurs en marche mais cela ne semblait pas rendre le programme plus rapide. Alors j'ai essayé

taskset -c 0,1,2,3 

Le programme fonctionnait bien, mais il semblait utiliser un seul noyau.

Que puis-je faire pour accélérer mon programme?

1
dnumbe10

Un programme doit être conçu pour utiliser plusieurs cœurs. Le programmeur doit écrire une instruction pour chaque noyau.

Si le programme que vous exécutez ne l'utilisez pas, il ne le sera jamais sans une mise à jour/mise à niveau.

Que puis-je faire pour accélérer mon programme?

Vous pouvez désactiver certains cœurs et overclocker celui qui reste. Mais demandez-vous d’abord si le programme a besoin de cette vitesse. Ou réécrire le programme si possible.

1
Erwin001