next up previous contents
Next: Mécanisme de communication Up: Quelques primitives de PVM Previous: Primitives générales

Lancement d'un exécutable sur un client



int pvm_spawn(char *prog, char **argv, int flag, char *where, int ncopies, int *TIDS): lance ncopies copies du programme prog sur la grappe PVM. argv est un pointeur sur un tableau de paramètres à passer au programme (on utilisera NULL s'il n'y a aucun paramètre à passer). flag est un entier permettant de contrôler l'exécution du programme, il est égal à l'un des entiers ci-dessous qui correspondent à divers modes d'exécution:
0:
PVM choisit sur quelles machines seront exécutés les ncopies du programme,
1:
l'argument where indique sur quelle machine l'exécution aura lieue,
2:
l'argument where indique sur quelle type d'architecture l'exécution aura lieue.
TIDS est un pointeur qui reçoit la liste des TIDS des ncopies programmes en exécution. La fonction renvoie un entier négatif en cas de problème.Exemple 4.
int tid;
pvm_spawn("go", NULL, 1, "licinfo2", 1, &tid);

exécute un exemplaire du programme go sur la machine licinfo2.
pvm_spawn("go", NULL, 1, NULL, 1, &tid);
exécute un exemplaire de go sur une machine quelconque de la grappe. Remarque 5. Par défaut le programme à exécuter sera recherché sur la machine cliente dans le répertoire $PVM_ROOT/lib/pvm3/bin/LINUXPVM_ROOT est une variable d'environnement spécifiant le répertoire d'installation de pvm ($HOME/pvm3 ou /usr/local/pvm3 ou /usr/share/pvm3). Si l'exécutable se trouve à un autre endroit, il faut alors spécifier dans le premier argument de pvm_spawn le chemin absolu du programme à utiliser.
Exemple: pvm_spawn("/home/joe/go", NULL, 1, "licinfo2", 1, &tid)
next up previous contents
Next: Mécanisme de communication Up: Quelques primitives de PVM Previous: Primitives générales
Pascal Véron
1999-03-04