Hello everyone.

I would like somebody help me to figure out how can I make that the openmpi use 
the infiniband interface that I specify with the command:

/opt/mpi/openmpi_intel-2.1.1/bin/mpirun --mca btl self,openib python mpi_hola.py

But when I  print the hostname and the ip address of the interface by the 
python script, it shows the ethernet interface:

# Ejemplo de mpi4py
# Funcion 'Hola mundo'

from mpi4py import MPI
import socket

##print(socket.gethostname())

comm = MPI.COMM_WORLD
rank = comm.Get_rank()
size = comm.Get_size()

print('Hola mundo')
print('Proceso {} de {}'.format(rank, size))

host_name = socket.gethostname()
host_ip = socket.gethostbyname(host_name)
print("Hostname :  ",host_name)
print("IP : ",host_ip)

The output is:


Hola mundo
Proceso 0 de 1
Hostname :   apollo-2.private
IP :  10.50.1.253
Hostname :   apollo-2.private
IP :  10.50.1.253
Hostname :   apollo-2.private
IP :  10.50.1.253
Hostname :   apollo-2.private
IP :  10.50.1.253

But the node has already the infiniband interface configured on ib0 with 
another network.

I would like you to give me some advice to make this script use the infiniband 
interface that is specified via mpi.

When I run:

mpirun --mca btl self,openib ./a.out


I get this error that confirm that mpi is using the ethernet interface:

[mpiexec@apollo-2.private] match_arg (./utils/args/args.c:122): unrecognized 
argument mca
[mpiexec@apollo-2.private] HYDU_parse_array (./utils/args/args.c:140): argument 
matching returned error
[mpiexec@apollo-2.private] parse_args (./ui/mpich/utils.c:1387): error parsing 
input array
[mpiexec@apollo-2.private] HYD_uii_mpx_get_parameters 
(./ui/mpich/utils.c:1438): unable to parse user arguments

Usage: ./mpiexec [global opts] [exec1 local opts] : [exec2 local opts] : ...

Global options (passed to all executables):


Additional Information:

ll /sys/class/infiniband: mlx5_0

/sys/class/net/
total 0
lrwxrwxrwx 1 root root 0 Jan 14 12:03 eno49 -> 
../../devices/pci0000:00/0000:00:02.0/0000:07:00.0/net/eno49
lrwxrwxrwx 1 root root 0 Jan 14 17:17 eno50 -> 
../../devices/pci0000:00/0000:00:02.0/0000:07:00.1/net/eno50
lrwxrwxrwx 1 root root 0 Jan 14 17:17 eno51 -> 
../../devices/pci0000:00/0000:00:02.0/0000:07:00.2/net/eno51
lrwxrwxrwx 1 root root 0 Jan 14 17:17 eno52 -> 
../../devices/pci0000:00/0000:00:02.0/0000:07:00.3/net/eno52
lrwxrwxrwx 1 root root 0 Jan 14 17:17 ib0 -> 
../../devices/pci0000:00/0000:00:01.0/0000:06:00.0/net/ib0
lrwxrwxrwx 1 root root 0 Jan 14 17:17 ib1 -> 
../../devices/pci0000:00/0000:00:01.0/0000:06:00.0/net/ib1
lrwxrwxrwx 1 root root 0 Jan 14 17:17 lo -> ../../devices/virtual/net/lo


The operating system is Linux Centos 7.


Thank you in advance for your help.

Kind regards.

Soporte.modemat

Reply via email to