Last modified:

Some questions may be found in LIBLINEAR FAQ.

Q: Why am I getting the following warnings or even encountering crashes when running MPI LIBLINEAR?
$ mpirun -n 2 -npernode 1 --machinefile machinefile ./train ...
[[958,1],0]: A high-performance Open MPI point-to-point messaging module
was unable to find any relevant network interfaces:

Module: OpenFabrics (openib)
	Host: [machine-name]

Another transport will be used instead, although this may result in
lower performance.
...[btl_tcp_frag.c:237:mca_btl_tcp_frag_recv] mca_btl_tcp_frag_recv: readv failed: Connection reset by peer (104)
mpirun noticed that process rank 0 with PID 13335 on node peanuts exited on signal 11 (Segmentation fault).

OpenFabrics (openib) is a module for high-speed data-transport across machines.
If some related component (e.g., InfiniBand) is not supported on your machine, then OpenMPI may report the warning messages.
To solve this issue, please add --mca btl ^openib into the command to exclude the openib component.

$ mpirun -n 2 -npernode 1 --machinefile machinefile  --mca btl ^openib ./train ...

Q: Why am I getting the following errors?
...[btl_tcp_endpoint.c:803:mca_btl_tcp_endpoint_complete_connect] ... failed: Connection refused (111)

Sometimes MPI fails to choose a proper network interface. You need to manually specify the correct one by adding

--mca btl_tcp_if_include [your-network-interface]
in your mpirun command.
Note that [your-network-interface] should be replaced by the name of a network interface that used to communicate with all the other nodes.
On Linux, you may type ifconfig to see all network interfaces on your machine. See OpenMPI FAQ for more details.
Please contact Chih-Jen Lin for any question.