MPI对等节点如何相互通信?

MPI对等节点如何相互通信?,mpi,Mpi,假设有三个节点的主机名分别为主机主节点、主机从属节点1和主机从属节点2 让MPI程序在主机主机上运行,执行命令如下: mpiexec-n4-h主机主程序、主机从程序1、主机从程序2 mpi.program 由于可以调用MPI API(例如,MPI_Send/MPI_Bcast/)在两个不同的节点(例如,host-slave1->host-slave2)之间传输消息 我不知道MPI引擎使用什么样的操作系统通信接口来实现这一点 通过在host-slave1和host-slave2之间创建tcp套接字

假设有三个节点的主机名分别为主机主节点、主机从属节点1和主机从属节点2

让MPI程序在主机主机上运行,执行命令如下:
mpiexec-n4-h主机主程序、主机从程序1、主机从程序2 mpi.program

由于可以调用MPI API(例如,MPI_Send/MPI_Bcast/)在两个不同的节点(例如,host-slave1->host-slave2)之间传输消息

我不知道MPI引擎使用什么样的操作系统通信接口来实现这一点

通过在host-slave1和host-slave2之间创建tcp套接字,并通过此通道发送消息


或者通过主机主机通过管道通道从主从1收集消息,然后再通过管道将这些消息转发给主从2?

这个问题太广泛了。MPI实现中有许多不同的通信后端,MPI标准中没有描述任何一个。请将问题缩小到特定的MPI实现和上下文。那么MPI_如何在两个级别之间进行通信呢?通过创建新的TCP套接字(如果是,那么哪个是TCP服务器,哪个TCP端口要绑定和侦听)?这个问题太广泛了。MPI实现中有许多不同的通信后端,MPI标准中没有描述任何一个。请将问题缩小到特定的MPI实现和上下文。那么MPI_如何在两个级别之间进行通信呢?通过创建新的TCP套接字(如果是,那么哪个是TCP服务器,哪个TCP端口要绑定和侦听)?