C++程序中调用MPI并行的批处理命令

问题来源:在使用MPI时,将程序并行实现了,运行时需要在dos窗口下输入批处理命令,以完成程序的执行。

如:mpiexec -localroot -n 6 d:/mpi/pro.exe

但每次这样挺麻烦的,就将批处理命令写在bat文件中,需要运行时直接双击运行bat文件即可。

但使用MPI实现的程序是软件功能的一部分,需要在软件使用过程中从软件中进行调用,实现MPI的并行处理,上面的方法就不可行了,上面的方法单独用还可以,但是要将功能集成在软件中,就需要另想办法了。

解决办法:system函数

函数原型:

int system (const char* command);

该函数作用是执行系统命令,system函数是C语言标准库函数,因此在C++中也可以使用,加上头文件stdlib.h。

 

使用方法:

方法1.

 

system("mpiexec -localroot -n 3 d:/mpi/pro.exe"); 

 

方法2

将批处理命令写入bat文件中,然后将bat文件路径作为system的参数

system("D:\mpi\pro.bat");  

 

原文地址:https://www.cnblogs.com/Romi/p/3327626.html