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.