Description du projet

Utiliser le cluster de Pi pour effectuer des calculs parallels à l’aide de programmes écrits en Python.

Cette procédure a été testée sur Armbian « Legacy Kernel ». Elle ne fonctionne pas sur les version Armbian « dev » (noyau 4.10).

Qu’est-ce que MPI?

MPI  (Message Passing Interface) : norme définissant une bibliothèque de fonctions qui permet d’exploiter des ordinateurs distants ou multiprocesseur par passage de messages.

  • installation de MPI (mpi4py) sur le serveur « master » :
    – création de l’utilisateur mpiuser sur « master » :

    – création du dossier « cloud » sur « master ». Ce dossier contiendra les programmes partagés entre tous les noeuds de la grappe :

    – installation du serveur NFS sur le serveur master et configuration du partage du dossier « cloud » :

    – pour tester la programmation parallèle facilement, j’ai choisi Python et sa librairie mpi4py (plus simple car pas de compilation).
    – installation de mpi4py, quelques dépendances et des programmes de test :

    – test de mpi4py avec un programme d’exemple sur la machine locale « master » (programme réparti entre les 4 coeurs de « master ») :
  • installation de MPI (mpi4py) sur les autres noeuds :
    – création de l’utilisateur mpiuser, création et configuration du point de montage cloud

    – installation de mpi4py, quelques dépendances :

    – idem pour le noeud slave2 :


    – configuration de l’authentification par clé privé du compte mpiuser@master -> mpiuser@slave1 et mpiuser@master -> mpiuser@slave2
  •  test de mpi4py avec un programme d’exemple de master exécuté sur tous les cpu de tous les noeuds de la grappe :

     
Découverte de la programmation parallèle avec Python et mpi4py

Une pensée sur “Découverte de la programmation parallèle avec Python et mpi4py

  • 20 mai 2017 à 14 h 36 min
    Permalien

    This is my first time pay a visit at here and i am truly impressed to read everthing at one place.

    Répondre

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *