MPI Installation sous windows

Un article de OpenMASKWiki.

Jump to: navigation, search

Retour au Portail_MPI

Sommaire

Installation

L'utilisation de MPI sous Windows implique de l'installer ! Contrairement à Linux, sous Fedora, OpenMPI est disponible directement.

Le choix de l'implémentation sous Windows s'est porté sur MPICH2 :

Il est possible de charger directement l'installeur sur ce site :

L'installation se fait simplement comme avec tout logiciel Windows.

Il faut ensuite ajouter une variable d'environnement MPICH2_HOME pointant vers le dossier d'installation de mpich2

Remarques

  • Il faut être administrateur du système pour pouvoir installer MPI car il installe et initialise un service (voir plus loin)
  • Il y a un mot de passe nécessaire à tous les ordinateurs utilisant MPI, il doit être commun, aussi il est préférable de ne pas le changer par défaut c'est behappy.
  • Il y a certaines dépendances. Il est nécessaire d'avoir notamment le visual c++ redistribuable package et le .Net framework redistribuable package qui sont téléchargeables sur le site Microsoft. Utiliser explorer et éviter firefox qui semble ne pas convenir.

Utilisation

Préparatifs

Afin de pouvoir lancer des applications utilisant des fenêtres (cas d'OpenMASK) sur plusieurs machines, sur chacune

  • MPI doit être installé
smpd -install  A lancer si votre console MPI vous demande lea phrase by-pass
smpd -hosts    Vous donne le ou les noms des ordinateurs acceptant des processus MPI
  • vous devez ouvrir une console MPI en mode administrateur (clic droit sur l'item Console dans le menu Programme) et taper
smpd -stop     Curieusement cela arrête le service
smpd -d 0      sans le 0 vous avez droit à tous les messages inter-process

La console ainsi ouverte doit rester ouverte durant tout le temps où MPI est utilisé. Cette commande lance un processus smpd qui est un gestionnaire des processus MPI. Vous pouvez lancer le gestionnaire des taches et suivre les processus créés.

Multiprocessus sur une seule machine

La commande est la suivante :

mpiexec.exe -n 2 myApp.exe
  • -n 2 indique le nombre de processus à lancer
  • myApp.exe est le nom de l'application lancée


Multiprocessus sur plusieurs machines

Dans le cas de la distribution sur plusieurs hôtes, voici la commande

mpiexec.exe -path c:\mpi;c:\mpi\debug -hosts 2 misty labrador myApp.exe
  • -path indique les chemins d'accès possible pour l'exécutable sur les différents hôtes, leschemins sont séparés par les ;
  • -hosts 2 misty labrador indique qu'il y a 2 hôtes et qu'ils se nomment misty et labrador
  • myApp.exe est le nom de l'application lancée

Multiprocessus avec OpenMASK4

L'utilisation de MPI avec OpenMASK a été simplifiée au stricte minimum. Le lancement d'une simulation distribuée se fait donc sans passer par mpiexec. Il suffit de lancer votre simulation de manière habituelle. Si la configuration du controller de la simulation contient un champ Machines, alors le programme se chargera de lancer tous les processus indiqués sur les machines indiquées dans ce champ.

Aide

Remarques

Remarques importantes : Pour que les différents hôtes soient accessibles il faut les intégrer via smpd de la manière suivante :

smpd -sethosts misty labrador

On peut connaître les hôtes disponibles en faisant :

smpd -hosts

Qui répondra dans le cas précédent

misty 
labrador

Si cette opération n'est pas effectuée, les processus seront lancés en local.

Options de commande

La documentation donne la liste des autres options possibles

Il est possible de préciser les variables d'environnement, les chemins,...

Problèmes rencontrés

Un problème de connexion est apparu avec les portables dell M70 et M90, il semble que la connexion d'un poste fixe vers le portable soit impossible ! Le problème vient apparemment de la configuration utilisée sur ces portables. Il n'y a pas de solution pour le moment. Cependant il est possible de faire tourner une application distribuée, mais juste en local.

Navigation