3

クラスターで openmp を使用しています。MPI_INIT_THREADを MPI_THREAD_MULTIPLE として希望するスレッド サポート レベルで使用すると、提供されるサポート レベルは 2 のみです。間違いを犯しているのか、コンパイラ フラグが欠落しているのかわかりません。このクラスターでは、mpi、openmp などを使用できます。

mpich2 を搭載した私の ubuntu ラップトップでは、同じコードで 3 のサポート レベルが提供されます。ただし、研究のためにクラスターを使用する必要があります。私のプログラムは C++ です。

何かを変更する必要がある場合は、教えてください。ありがとう。さらに情報を提供する必要がある場合はお知らせください。

4

1 に答える 1

6

現在のほとんどのCrayマシンでは、環境変数を設定することにより、目的のMPI_THREAD_MULTIPLEを有効にできます。

MPICH_MAX_THREAD_SAFETY=multiple

Cray XT4の場合、モジュールをロードして有効にする必要がありました(デフォルトのMPIライブラリが置き換えられます)。XT4にアクセスできなくなったので、モジュールの名前を覚えていません。

于 2012-07-30T04:04:42.993 に答える