2011-10-19 4 views
1

Dans un programme MPI, en utilisant MPI_COMM_SPAWN, on peut générer un processus mpi ou un processus nonMpi vers d'autres hôtes. Ces processus enfants engendrés auront des artefacts à retourner au parent à la fin.Comment récupérer le statut du processus de spawn MPI?

Pour les processus Mpi, je suppose que l'on peut simplement utiliser inter comm pour envoyer un statut, mais qu'en est-il des processus non mpi? Je suppose que je peux utiliser IPC linux tradictionnel pour communiquer en arrière, ce qui sonne un peu comme un hack ... Quelqu'un a une idée brillante de ce qu'il faut faire ici?

Merci beaucoup

Répondre

0

IMHO, la seule raison d'utiliser mpi_comm_spawn est de créer de nouveaux travailleurs MPI dinamically lorsque vous ne pouvez pas déterminer la taille avant qu'elle ne commence, donc il n'y a pas de sens pour engendrer une application non-mpi utilisant mpi_comm_spawn ...

Mise à jour: Selon http://www.mpi-forum.org/docs/mpi-2.2/mpi22-report.pdf, chapitre 10, « MPI_COMM_SPAWN chez les parents et MPI_Init chez les enfants forment une opération collective sur l'union des processus parents et enfants », donc il semble que vous ne pouvez pas lancer un processus non-mpi.

Questions connexes