J'écris un programme parallèle em> à l'aide de Quand j'exécute mon programme en utilisant Je sais que ce n'est pas un problème de code, car exactement le même code compilera et fonctionnera comme prévu sur certaines machines Ubuntu dans le laboratoire informatique de mon collège. J'ai vérifié le suivi bogue d'HomeBrew et personne n'a signalé un problème avec le package Open MPI. Je suis à perte. P> Ouvrir MPI code>. Je couronne Snow Leopard 10.6.4, et j'ai installé
Ouvrir MPI CODE> via le homebrew Gestionnaire de paquets. P>
mpirun -np 8 ./test code>, chaque processus rapporte qu'il a le rang 0 et estime que le nombre total de processus doit être 1 et 8 lignes de
Rang de processus: 0, Total Processes: 1 Code> Sortez-vous à la console. P>
4 Réponses :
Vérifiez quel Mpirun vous invoque. Le Mpirun en cours d'exécution lance 8 cas indépendants du binaire. Donc, chaque instance est une application MPI avec une taille d'univers de 1 et rang 0. p>
En outre, sauf si vous envisagez d'exécuter le code final sur un cluster de cases OS X, je vous recommande vivement d'installer une version Linux dans une machine virtuelle, comme VirtualBox, de tester et de développer ces codes. p>
J'ai eu le même problème avec OpenMPI en C sous Linux. En utilisant MPICH2 à la place, le problème a été corrigé (mais n'oubliez pas d'exécuter MPI_Finalize () à la fin ou qu'elle devient étrange.) P>
Désinstallez complètement la mise en œuvre du MPI précédente.
Dans mon cas, j'ai installé MPICH2 en premier, puis le désinstallé et changé en openmpi. Ensuite, même cas, tous les grades de processus étaient 0. Ce que j'ai fait pour résoudre ce problème est: Désinstaller MPICH2 Complètement de mon système (j'utilise Ubuntu / Debian Linux). P>
# apt-get remove mpich2 # apt-get autoremove
Aujourd'hui, j'ai rencontré le même problème comme toi. Et enfin j'ai eu la solution. P>
Simplement parler, la réponse indique que MPI a besoin de PMI appropriée pour informer les processus de leurs rangs et autre chose. Par conséquent, nous devons utiliser la correspondance MPIRN / MPIEXEC pour exécuter le programme MPI. P>
Je suppose que votre problème est lié à l'inadéquation entre le compilateur de programme MPI et l'outil MPIRN. Alors essayez de désinstaller tout et installez MPICH / OPENMPI (assurez-vous simplement d'installer l'un d'entre eux). P>
Est-ce que cela se produit si vous construisez à la source vous-même, ou utilisez-le sur OS X (Snow Leopard) fournis à Open-MPI?
Désinstallation d'Open-MPI de HomeBrew a provoqué au travail Open-MPI proposé par OS X. Hmm.
C'est presque toujours le résultat de la compilation avec une distribution MPI et (accidentellement ou autre) l'exécute avec le Mpirun d'un autre. Assurez-vous que tous vos chemins et vos chemins de recherche de la bibliothèque dynamique n'ont que la seule distribution en eux.
Dupliqué possible de MPI_Rank Retour Le même numéro de processus pour tous les processus a >