sirve - MPICH2 gethostbyname falló
open mpi (4)
Solución para macOS
Me topé con este problema en macOS 10.12.1.
La solución es agregar 127.0.0.1 computername.local
a /etc/hosts
. Su archivo se verá más o menos así:
##
# 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
Puede cambiar / verificar el nombre de su computadora si va a Preferencias del sistema > Compartir > Nombre de la computadora .
No entiendo el mensaje de error. Lo que estoy tratando de hacer es ejecutar una aplicación MPICH2 después de instalar mpich2 versión 1.4 o 1.5 en /opt/mpich2
(ambas versiones fallaron con el mismo error). Mi aplicación MPI se compiló con 1.3, pero puedo ejecutarlo con mpi 1.4 en otra estación de trabajo. Lo estoy probando en 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)
Este error indica que hay un problema al resolver localhost. Verifique su archivo / etc / hosts, asegúrese de que tiene localhost correctamente definido aquí, debe estar apuntando a 127.0.0.1. Intente usar ssh para conectarse a localhost, asegúrese de que también funcione.
Lo que funcionó para mí fue lo siguiente:
Asegúrese de que su nombre de host sea el mismo para 1 y 2 a continuación:
- terminal nombre de host
- "/ etc / hosts" nombre de host
Así que si escribes cat /etc/hosts
en la terminal debería verse así:
// 127.0.0.1 my_hostname
Mi nombre de host no era el mismo para 1 y 2 para mí. Una vez que los cambié para coincidir, mi programa mpi se ejecutaría.
Para cambiar el nombre de host de su terminal, escriba lo siguiente: sudo scutil --set HostName my_new_host_name
Para cambiar su nombre de host / etc / hosts escriba lo siguiente: sudo nano /etc/hosts
y luego agregar la linea
127.0.0.1 my_new_hostname
Siendo la pregunta diferente, la respuesta es probablemente la misma que le di hace tiempo para OpenMPI: falta la función gethostname () en openMPI
La solución portátil MPI es usar MPI_Get_processor_name()