考虑有三个节点,其主机名分别为host-master,host-slave1,host-slave2。
让MPI程序在host-master上运行,执行命令如下:
mpiexec -n 4 -h host-master,host-slave1,host-slave2 mpi.program
由于可以调用MPI API(例如MPI_Send / MPI_Bcast / ..)在两个不同节点之间传输消息(例如,host-slave1 - > host-slave2),
我不知道MPI-Engine使用什么样的OS通信接口来实现它。
通过在host-slave1和host-slave2之间创建tcp-socket,并通过该通道发送消息?
或者主机 - 主机通过管道从主机 - 从机1收集消息,然后通过管道将这些消息转发到主机 - 从机2?