使用 aprun 的进程放置——每个节点需要一个进程

Process placement with aprun -- need one process per node

我需要在 aprun 下的 Cray 系统上 运行 一个 MPI 代码。由于我不会深入的原因,我被要求 运行 它使得没有节点具有超过一个进程。我一直对 aprun 手册页感到困惑,我不确定我是否已经弄明白了。如果我只有两个进程,此命令是否会确保它们 运行 在不同的节点上? (假设一个节点上有 32 个核心。)

> aprun -n 2 -d 32 --cc depth ./myexec

如果有人感兴趣,我上面的命令行确实有效。我用代码测试了它:

#include <mpi.h>
#include <stdio.h>
 
int main(int argc, char **argv) {
char hname[80];
int length;
 
MPI_Init(&argc, &argv);
 
MPI_Get_processor_name(hname, &length);
printf("Hello world from %s\n", hname);
MPI_Finalize();

}