hostname never calls MPI_Init, and therefore never initializes the BTL
subsystem. Therefore, hostname will always run correctly.
mpirun is not an MPI process, nor are the daemons used by OMPI to
launch the MPI job. Thus, they also do not call MPI_Init, and
therefore do not see the BTL subsy
How is this possible?
dx:~> mpirun -v -np 2 --mca btl self,sm --host dx,sx hostname
dx
sx
dx:~> netstat -i
Kernel Interface table
Iface MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-
OVR Flg
eth0 1500 0 998755 0 0 0 1070323 0
0 0 BMRU
eth1