tout le monde. J'ai un fichier Python (par exemple nommé: run.py). Ce programme prend quelques paramètres (python run.py param1 param2 ...) et chaque paramètre de tuple est un paramètre. Maintenant, je dois exécuter plusieurs paramètres simultanément pour terminer tout le plus tôt possible. J'ai écrit un fichier run.sh comme suit:Comment écrire un script pour exécuter plusieurs processus dans une machine multicœur efficacement
python run.py setting1 &
python run.py setting2 &
#more setting
...
wait
Ce fichier va exécuter tous les processus simultanément, non? Et je cours sur la machine 64 core cpu. J'ai quelques questions ici:
- Est-ce que chaque processus fonctionnera sur un noyau ou pas?
- Si non, comment puis-je faire cela?
- Si je peux exécuter un processus par un noyau, durée de SETTING1 sera égal à temps en cours d'exécution quand je viens de lancer un processus individuel: python run.py SETTING1
Regardez ** GNU Parallel **. Vous pouvez contrôler combien de processus s'exécutent facilement et générer des permutations d'arguments. Effectuez une recherche sur StackOverflow pour '[gnu-parallel]' et cliquez sur 'latest'. –