1

安装 Microsoft HPC Pack 2008 R2 并使用 Visual Studio 2010 Professional 后,我能够使用 C 风格而不是 C++ 风格运行 MPI 程序。例如:

#include <mpi.h>

int main()
{
  MPI_Init(NULL,NULL);
  .
  .
  .
  MPI_Finalize();
  return 0;
}

有效,但

#include <mpi.h>

int main()
{
  MPI::Init(NULL,NULL);
  .
  .
  .
  MPI::Finalize();
  return 0;
}

没有。错误消息说找不到命名空间 MPI。我在做傻事吗?这是很有可能的。任何帮助表示赞赏。

谢谢,

-努恩

4

1 回答 1

2

http://mpi-forum.org/docs/mpi-2.2/mpi22-report/node328.htm

从 MPI 2.2 开始:

整个 C++ 语言绑定集已被弃用。

基本原理。

C++ 绑定在 C 绑定上添加了最少的功能,同时对 MPI 规范进行了大量维护。由于 C++ 绑定实际上是 C 绑定的一对一映射,因此将现有 C++ MPI 应用程序转换为使用 MPI C 绑定应该相对容易。此外,还有一些第三方包可提供 C++ 类库功能(即,在 MPI C 绑定之上分层的 C++ 特定功能),这些功能对于 C++ 程序员来说可能更具表达性和/或自然性,并且不适合在此进行标准化规格。(理由结束。)

于 2012-04-13T23:28:41.503 回答