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