web-dev-qa-db-fra.com

MPICH2 gethostbyname a échoué

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)
21
biocyberman

Solution pour macOS

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 .

13

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:

  1. nom d'hôte du terminal 
  2. "/ etc/hosts" nom d'hôte

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
13
timbo7io

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.

6
JamesTullos

É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()

2
Sigismondo

Peut-être que votre/dev/shm est plein, essayez de le nettoyer.

0
Ling-Han Jiang