vs2019运行mpi如何改变进程数, 运行结果总是一个进程,进程号为0; 如何改变VS2019进程数? return 0;
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vs2019运行mpi如何改变进程数, 运行结果总是一个进程,进程号为0; 如何改变VS2019进程数? return 0;相关的知识,希望对你有一定的参考价值。
运行显示只有一个进程,进程号为0;
int myid, numprocs;
int namelen;
char processor_name[MPI_MAX_PROCESSOR_NAME];
MPI_Init(&argc, &argv);/*程序初始化*/
MPI_Comm_rank(MPI_COMM_WORLD, &myid);//得到当前进程号
MPI_Comm_size(MPI_COMM_WORLD, &numprocs);//得到总的进程数
MPI_Get_processor_name(processor_name, &namelen);//得到机器名
fprintf(stderr, "Process %d of %d SAY HELLO TO MPI on %s\n", myid, numprocs, processor_name);
MPI_Finalize();//结束
return 0;
打开cmd命令行,或者powershell也行,一路cd进入.exe并行程序所在路径。
用命令mpiexec -n 8 xxx.exe来运行,并行.exe程序需要用mpiexec运行,其中的-n 8就是告诉mpiexec这次程序运行开8个进程。
mpiexec只要正确安装了mpich都会有,在cmd中用命令mpiexec --help可以查询更多用法。
如何指定在 R 中运行的 MPI 的核心数和节点数
【中文标题】如何指定在 R 中运行的 MPI 的核心数和节点数【英文标题】:How to specify both the number of cores and nodes for MPI running in R 【发布时间】:2018-04-20 09:34:02 【问题描述】:我想使用 MPI 在 HPC 集群上并行运行 R。我了解包 snow 中的 makeCluster 函数可用于指定节点数。例如:makeCluster(2,type="MPI")
表示 2 个节点。如果不将类型指定为“MPI”,makeCluster(2)
将意味着单个节点上有 2 个内核。
有没有办法同时指定节点数和核心数?
如果指定类型为 MPI,每个节点默认使用多少个核心?
【问题讨论】:
【参考方案1】:据我所知,snow
和 parallel
软件包不会暴露这一点——因为它很快就会依赖于硬件。
不,如果您的 MPI 实现是 OpenMPI,那么您可以在服务器的 MPI 配置中指定它。有一个非常丰富的语法,hwloc
库应该为您提供硬件位置。
但最后的 R 只知道“工作节点的数量”,并将 how 和 which 传递给您选择的特定实现。
【讨论】:
以上是关于vs2019运行mpi如何改变进程数, 运行结果总是一个进程,进程号为0; 如何改变VS2019进程数? return 0;的主要内容,如果未能解决你的问题,请参考以下文章