一、MS-MPI网卡选择
1.默认选择
MS-MPI在默认情况下不需要指定网卡,会自动选择本机hostname所在的网段对应的网卡(由gethostbyname
函数获取)。但当在多机通信中,如果主机具有多个同时处于启动状态的网卡时,问题就可能会出现,可以使用两种办法避免:
- 禁用其他不使用的网卡,使主机只有一个网卡处于启动状态;
- 显式指定网卡。
2.显式指定
MPI可以在指令中使用变量MPICH_INTERFACE_HOSTNAME
,后面跟要使用的网卡的IP地址,如:
mpiexec -np 1 -env MPICH_INTERFACE_HOSTNAME 192.168.18.146 "MPITest.exe"
二、获取主机名
MPI提供有MPI_Get_processor_name()
,可以获取当前进程所处的主机的位置。
#include <iostream>
#include <mpi.h>