Romi-知行合一

轻轻的风轻轻的梦,轻轻的晨晨昏昏, 淡淡的云淡淡的泪,淡淡的年年岁岁。
  博客园  :: 首页  :: 新随笔  :: 订阅 订阅  :: 管理

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

Posted on 2013-09-17 23:37  romi  阅读(2662)  评论(0编辑  收藏  举报

问题来源:在使用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");