ソフトウェアをMPIで実行するには、MPI::COMM_WORLD
を返す単純なメソッドを作成する必要があります。MPI :: Comm型のオブジェクトを返す関数をコンパイルできません
だから私のクラスでは、我々は持っている:
#include <mpi.h>
class Parallel{
public:
MPI::Comm getCommunicator(){
return MPI::COMM_WORLD;
}
protected:
int iproc;
};
int main(int argc, char *argv[]){
Parallel* parallel;
MPI::Init(argc, argv);
int my_rank;
my_rank = parallel->getCommunicator().Get_rank();
MPI::Finalize();
return 0;
}
どのように私はそれがMPI::COMM_WORLD
を返すためにgetCommunicator()
メソッドを実装する必要がありますか?私は上記をコンパイルしようとすると、私は次のエラーを取得する:
invalid abstract return type for member function 'MPI::Comm Parallel ::getCommunicator()
を与えます* C++バインディングは、MPI-2.2(2009)の時点で廃止されました。 C++バインディングはMPI-3.0で削除されています。 (2012)*。いずれにしても、あなたは実際に何を求めているのですか?あなたは何をしようとしていますか、あなたの問題はどこですか? – Zulan
基本的には、HDF5 APIを使用してファイル内にパラレルデータを書き込む作業をしています。 – Karl
私のコードでは、HDF5 APIによって提供される関数を含めて使用する必要があります。 – Karl