Microsoft MPI无法运行

时间:2012-10-21 19:17:04

标签: visual-studio mpi mpiexec

我正在尝试微软的MPI实施。我从这里安装了CCP sdk:

http://www.microsoft.com/en-us/download/details.aspx?id=239

然后在我的项目设置中添加了include文件夹,lib文件夹并提到了msmpi.lib。

按原样保留其余设置,我构建程序,然后在命令提示符下继续运行程序,但启动后没有任何反应。

这是代码(它应该显示每个线程的id号):

#include "stdafx.h"
#include "mpi.h"
#include <stdio.h>

//Commands in cmd prompt
//cd "C:\Program Files\Microsoft Compute Cluster Pack\Bin"
//mpiexec.exe -n 2 "C:\Users\MyNameHere\Documents\Visual Studio 2012\Projects\tspMpi\Debug\tspMpi.exe"

int main(int argc, char* argv[]) 
{
 int  nTasks = 0, rank = 0; 

 MPI_Init(&argc,&argv); 
 MPI_Comm_size(MPI_COMM_WORLD,&nTasks);
 MPI_Comm_rank(MPI_COMM_WORLD,&rank);

 printf ("Number of threads = %d, My rank = %d\n", nTasks, rank);


  return 0;
 MPI_Finalize();
}

一旦我运行mpiexec.exe(命令在注释中),程序就什么都不做,直到我按下Ctrl-C。有谁知道我做错了什么?构建程序时没有错误,如果我从visual studio运行它,就好像只启动了一个进程。

1 个答案:

答案 0 :(得分:7)

我没有发现SDK有用,这是我在VS 2010(VC10)中启用MPI群集调试的步骤:

步骤1.安装MS-MPI:http://www.microsoft.com/en-us/download/details.aspx?id=36045(仅限x64),这将创建

C:\Program Files\Microsoft HPC Pack 2012\Inc
C:\Program Files\Microsoft HPC Pack 2012\Lib\amd64
C:\Program Files\Microsoft HPC Pack 2012\Lib\i386

第2步。下载示例:http://msdn.microsoft.com/en-us/library/ee441265(v=vs.100).aspx#BKMK_debugMany

步骤3.调试设置:右键单击启动项目&gt;属性&gt;调试

Debugger to launch, change "Local Windows Debugger" to "MPI Cluster Debugger"
Run Environment, change "localhost/1" to "localhost/4"

右键单击Visudal Studio工具栏区域以检查“调试位置”,现在您可以在调试位置工具栏中切换Process及其Threads,玩得开心!