1

Microsoft HPC Pack 2008 R2をインストールし、Visual Studio 2010 Professionalを使用すると、Cスタイルを使用してMPIプログラムを実行できますが、C++スタイルを使用することはできません。例えば:

#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が見つからないことを示しています。私は愚かなことをしていますか?それはかなり可能です。助けていただければ幸いです。

ありがとう、

-nuun

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バインディングの1対1のマッピングであるため、既存のC++MPIアプリケーションをMPICバインディングを使用するように変換するのは比較的簡単です。さらに、C ++クラスライブラリ機能(つまり、MPICバインディングの上に階層化されたC++固有の機能)を提供するサードパーティパッケージが利用可能です。これらは、C ++プログラマーにとってより表現力があり、自然であり、この標準化には適していません。仕様。(理論的根拠の終わり。)

于 2012-04-13T23:28:41.503 に答える