Mat*_*ara 5 hostname mpi multiprocessing cpu-cores nodes
我正在尝试使用MPI和Fortran进行实现,将同一节点上的进程分成组.MPI有一个可以识别的常规吗?
我有想法通过主机名分隔这些进程,这些主机名在我正在使用的机器的节点上是相同的.但我不知道它是否适用于所有集群.
您可能想要查看MPI_COMM_SPLIT_TYPE.它将允许您根据split_type您传入的现有通信器作为参数进行拆分:
int MPI_Comm_split_type(MPI_Comm comm, int split_type, int key,
MPI_Info info, MPI_Comm *newcomm)
Run Code Online (Sandbox Code Playgroud)
现在,唯一的split_type是MPI_COMM_TYPE_SHARED,在标准中定义为:
此类型将通信器拆分为子通信器,每个子通信器可以创建共享内存区域.
这通常与您要求的相同,但您必须仔细检查它在您的机器上是否正确.
您需要知道的另一件事是,这是MPI-3中的新功能,因此可能无法在MPI的所有实现中使用.我知道它可用于MPICH及其衍生产品.AFAIK,它在Open MPI的最后一个版本中不可用.因此,请确保您拥有实际支持它的MPI版本.
| 归档时间: |
|
| 查看次数: |
645 次 |
| 最近记录: |