0

最近 Intel の Cluster Studio をインストールし、IMPI をテストしていました。を使用して単純な hello world プログラムを実行しようとするとmpirun、処理に時間がかかり、自分で終了する必要があります。次のコードを使用しました。

#include <mpi.h>
#include <iostream>

#include <stdlib.h>

int main(int argc, char *argv[]) {
  MPI::Init(argc, argv);

  int rank = MPI::COMM_WORLD.Get_rank();
  int size = MPI::COMM_WORLD.Get_size();

  std::cout << "Returned: " << system("sleep 2") << " ";
  std::cout << "Hello World! I am " << rank << " of " << size <<
          std::endl;

  MPI::Finalize();
  return (0);
}

でコンパイルしましたmpiicpc main.cpp -o main。これは、-showオプションを追加したときの出力です。

icpc main.cpp -o main -I/opt/intel/impi/4.1.1.036/intel64/include -L/opt/intel/impi/4.1.1.036/intel64/lib -Xlinker --enable-new-dtags -Xlinker -rpath -Xlinker /opt/intel/impi/4.1.1.036/intel64/lib -Xlinker -rpath -Xlinker /opt/intel/mpi-rt/4.1 -lmpigc4 -lmpigf -lmpi -lmpigi -ldl -lrt -lpthread

で実行可能ファイルを実行しましmpirun -np 4 mainた。

追加情報:

$which mpirun 
/opt/intel/impi/4.1.1.036/intel64/bin/mpirun

$mpiicpc --version
icpc (ICC) 14.0.0 20130728

更新g++:の代わりに使用してコンパイルも試みましたicpc。運がない。私の推測では、MPI ランタイムに問題があるのですが、見つかりません。デバッグは機能しませんでした。そもそもプログラムが初期化されていないと思います。

4

1 に答える 1