Je ne comprends pas le message d'erreur. J'essaie de faire est d'exécuter une application MPICH2 après avoir installé la version 1.4 de mpich2 ou 1.5 à /opt/mpich2
(les deux versions ont échoué avec la même erreur). Mon application MPI a été compilée avec 1.3 mais je peux l'exécuter avec mpi 1.4 sur un autre poste de travail. Je le teste sur Ubuntu 12.04.
Fatal error in PMPI_Init_thread: Other MPI error, error stack:
MPIR_Init_thread(467)..............:
MPID_Init(177).....................: channel initialization failed
MPIDI_CH3_Init(70).................:
MPID_nem_init(319).................:
MPID_nem_tcp_init(171).............:
MPID_nem_tcp_get_business_card(418):
MPID_nem_tcp_init(377).............: gethostbyname failed, localhost (errno 3)
Je suis tombé sur cette question sur macOS 10.12.1.
La solution consiste à ajouter 127.0.0.1 computername.local
à /etc/hosts
. Votre fichier ressemblera plus ou moins à ceci:
##
# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting. Do not change this entry.
##
127.0.0.1 localhost
127.0.0.1 computername.local
255.255.255.255 broadcasthost
::1 localhost
Vous pouvez modifier/vérifier le nom de votre ordinateur si vous allez dans Préférences Système > Partage > Nom de l'ordinateur .
Ce qui a fonctionné pour moi a été le suivant:
Assurez-vous que votre nom d'hôte est le même pour 1 et 2 ci-dessous:
Donc, si vous tapez cat /etc/hosts
dans le terminal, il devrait ressembler à ceci:
// 127.0.0.1 my_hostname
Mon nom d'hôte n'était pas le même pour 1 et 2 pour moi. Une fois que je les ai remplacés, mon programme mpi s’exécutera.
Pour changer le nom d’hôte de votre terminal, entrez: Sudo scutil --set HostName my_new_Host_name
Pour changer votre nom d’hôte/etc/hosts, tapez ce qui suit: Sudo nano /etc/hosts
puis ajoutez la ligne
127.0.0.1 my_new_hostname
Cette erreur indique qu’un problème est survenu lors de la résolution de localhost. Vérifiez votre fichier/etc/hosts, assurez-vous que localhost est correctement défini ici, il devrait pointer sur 127.0.0.1. Essayez d’utiliser ssh pour vous connecter à localhost, assurez-vous que cela fonctionne également.
Étant donné que la question est différente, la réponse est probablement la même que celle que j’avais donnée il ya quelque temps pour OpenMPI: La fonction gethostname () est manquante dans openMPI
La solution portable MPI consiste à utiliser MPI_Get_processor_name()
Peut-être que votre/dev/shm est plein, essayez de le nettoyer.