1

Je veux faire de la programmation distribuée avec python en utilisant le paquet mpi4py. Pour des raisons de test, j'ai mis en place un cluster à 5 nœuds via le moteur de conteneur Google, et j'ai modifié mon code en conséquence. Mais maintenant, quelles sont mes prochaines étapes? Comment puis-je faire fonctionner mon code sur les 5 machines virtuelles?Programmation distribuée sur Google Cloud Engine en utilisant Python (mpi4py)

J'ai essayé juste ssh-connecter dans une machine virtuelle à partir de mon cluster et exécuter le code, mais il était évident que le code n'a pas été distribué se, mais sont restés sur la même machine :([voir l'exemple ci-dessous]

.

. code:

from mpi4py import MPI 

size = MPI.COMM_WORLD.Get_size() 
rank = MPI.COMM_WORLD.Get_rank() 
name = MPI.Get_processor_name() 

print("Hello, World! I am process/rank {} of {} on {}.\n".format(rank, size,name)) 

sortie:

mpiexec n5 python 5_test.py

Bonjour, monde! Je suis le processus/rang 0 sur 5 sur gke-cluster-1-000000cd-node-mgff.

Bonjour, Monde! Je suis processus/rang 1 sur 5 sur gke-cluster-1-000000cd-node-mgff.

Bonjour, Monde! Je suis processus/rang 2 sur 5 sur gke-cluster-1-000000cd-node-mgff.

Bonjour, Monde! Je suis un processus/rang 3 sur 5 sur gke-cluster-1-000000cd-node-mgff.

Bonjour, Monde! Je suis processus/rang 4 sur 5 sur gke-cluster-1-000000cd-node-mgff.

Répondre

1

Alors, je me suis dit ce que j'ai eu tort, et je pense que je devrais poster la réponse à quelqu'un qui pourrait a une question similaire.

fin de compte, j'ai lu la documentation de mpi4py mieux: D

La commande mpirun -np 5 python 5_test.py est pour l'exécution du programme d'un seul hôte multi-core sur les différents processus.

Cependant, je voulais répartir la tâche entre différents hôtes. Par conséquent j'avais besoin de la commande mpirun --hostfile <hostfile> python 5_test.py. Et <hostfile> doit être un fichier qui ressemble à ceci:

-- hostfile -- 

host1 slots=4 

host2 slots=4 

host3 slots=4 

'-------------- 


. 

Lien utile: https://github.com/jbornschein/mpi4py-examples