运行 指定数量的内核上的 MPI 程序
Running MPI programs on a specified number of cores
我是 MPI 编程新手。我想 运行 我的 MPI 程序在指定数量的内核上运行。我通过键入 mpirun --help
引用了帮助选项。它给出了以下输出:
...
-c|-np|--np <arg0> Number of processes to run
...
-n|--n <arg0> Number of processes to run
...
然而,当我提到this website时,它在两个不同的地方指定了以下两个不同的东西:
简介中:
mpirun typically works like this
mpirun -np <number of processes> <program name and arguments>
在选项帮助菜单中:
-np <np>
- specify the number of processors to run on
在这种情况下,-np
是否指定 进程数到 运行 或处理器到 运行 on ?此外,如何在多台 PC 上 运行 我的 MPI 程序?
在这方面,我们将不胜感激。
使用-np指定进程。作业 运行 所依赖的实际处理器数量取决于您如何配置 MPI 和您的计算机体系结构。如果您在本地计算机上正确设置了 mpi,mpirun -np 2 ./a.out
将在两个处理器上 运行 两个进程。如果您的本地机器有四个内核,而您 运行 mpirun -np 8 ./a.out
,这应该 运行 8 个进程,每个处理器两个(如果内核允许多线程,这可能是明智的)。检查 top
以查看在各种情况下实际使用了多少个处理器。
要在多台 PC 上 运行,您需要在主机文件中指定 PC 网络地址列表,并使用 hydra 或 mpd 等进程管理器启动环,例如对于 8 个 PC 或节点 mpd -n 8 -f ~/mpd.hosts
。您需要设置 ssh 以使用密钥身份验证并在每台 PC 上安装 MPI。有许多很好的教程可以引导您完成此过程(查看教程了解您正在使用的 MPI 版本,可能 MPICH or openMPI)。
我是 MPI 编程新手。我想 运行 我的 MPI 程序在指定数量的内核上运行。我通过键入 mpirun --help
引用了帮助选项。它给出了以下输出:
... -c|-np|--np <arg0> Number of processes to run ... -n|--n <arg0> Number of processes to run ...
然而,当我提到this website时,它在两个不同的地方指定了以下两个不同的东西:
简介中:
mpirun typically works like this
mpirun -np <number of processes> <program name and arguments>
在选项帮助菜单中:
-np <np>
- specify the number of processors to run on
在这种情况下,-np
是否指定 进程数到 运行 或处理器到 运行 on ?此外,如何在多台 PC 上 运行 我的 MPI 程序?
在这方面,我们将不胜感激。
使用-np指定进程。作业 运行 所依赖的实际处理器数量取决于您如何配置 MPI 和您的计算机体系结构。如果您在本地计算机上正确设置了 mpi,mpirun -np 2 ./a.out
将在两个处理器上 运行 两个进程。如果您的本地机器有四个内核,而您 运行 mpirun -np 8 ./a.out
,这应该 运行 8 个进程,每个处理器两个(如果内核允许多线程,这可能是明智的)。检查 top
以查看在各种情况下实际使用了多少个处理器。
要在多台 PC 上 运行,您需要在主机文件中指定 PC 网络地址列表,并使用 hydra 或 mpd 等进程管理器启动环,例如对于 8 个 PC 或节点 mpd -n 8 -f ~/mpd.hosts
。您需要设置 ssh 以使用密钥身份验证并在每台 PC 上安装 MPI。有许多很好的教程可以引导您完成此过程(查看教程了解您正在使用的 MPI 版本,可能 MPICH or openMPI)。