【问题标题】:Microsoft MPI doesn't runMicrosoft MPI 不运行
【发布时间】:2012-10-21 19:17:03
【问题描述】:

我正在尝试 Microsoft 的 MPI 实现。我从这里安装了 CCP sdk:

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

然后在我的项目设置中,我添加了包含文件夹、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(命令在 cmets 中),程序什么也不做,直到我按下 Ctrl-C。有谁知道我做错了什么?构建程序时没有错误,如果我从 Visual Studio 运行它,就好像只启动了一个进程。

【问题讨论】:

  • 可以运行SDK提供的示例吗?
  • 我在显示的链接中没有找到任何与 SDK 相关的文档/示例。
  • MPI_Finalize();应该在return语句之前
  • 我自己设法解决了这个问题(我想!)从这里的文档 (msdn.microsoft.com/en-us/library/cc136762(v=VS.85).aspx) 我得到了我实际上应该使用另一种产品 HPC。我决定改用这个 HPC 产品,当我执行相同的步骤时,现在一切似乎都运行良好。什么不起作用,当我使用 getchar 语句时,我无法正确看到输出。知道为什么吗?
  • 嗨 veda,也感谢您指出这一点。我也做了那个更正。

标签: visual-studio mpi mpiexec


【解决方案1】:

我觉得 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

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

步骤3.调试设置:右键点击启动项目>属性>调试

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

在Visudal Studio Toolbar区域右击勾选“Debug Location”,现在可以在Debug Location工具栏中切换Process及其线程,玩的开心!

【讨论】:

    猜你喜欢
    • 2011-11-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-30
    相关资源
    最近更新 更多