問題タブ [mvapich2]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
527 参照

centos - 指定されたIDを持つCPUでのmpirun

指定されたCPUでmpirunを実行する方法を知っている人はいますか?「mpirun-np4」は使用するCPUの数を指定しますが、ここでやりたいのはCPUIDを指定することです。

OSはCentOS5.6であり、MVAPICH2は6x2コアの単一ノードで使用されます。

ご協力ありがとうございます。

0 投票する
1 に答える
777 参照

mpi - InfiniBandのインストールパスを見つける方法

MVAPICH2を自分でコンパイルしたいのですが、psm.hファイルの場所がわからないため、デフォルトの場所で見つかりません。

InfiniBandを見つけるためにどのコマンドを使用できるか知っている人はいますか?

0 投票する
3 に答える
910 参照

c++ - OpenMPI v/s Mvapich2: MPI_Recv なしの MPI_Send

MPI_Sendwithoutの効果をテストしようとしていMPI_Recvます。openmpi-1.4.5 および mvapich2-1.9 を使用してコンパイルおよび実行する次のプログラムがあります。これらの実装が MPI 標準の 2 つの異なるバージョン用であることは承知していますが、これらの標準全体で同じだMPI_Sendと思います。MPI_Recv

mvapich2 を使用すると、常に次の出力が得られます (これ以上のものはありません)。基本的に、プログラムは次の 3 行でハングしたようです。

openmpi を使用すると、次の出力が得られます (終わりがありません)。

質問:

  1. なぜこのような違いがあるのですか?
  2. mvapich2 を使用して openmpi (unending) に似た動作を実現するにはどうすればよいですか?
0 投票する
1 に答える
810 参照

mpi - MVAPICH2 - サポートされているネットワークの種類

MVAPICH2 は、InfiniBand やその他の HPC ネットワーク テクノロジ以外の通常のイーサネット ネットワークにインストールできますか?

0 投票する
1 に答える
777 参照

mvapich2 - Mvapich MPI_Init_thread (複数スレッドのサポート) に失敗しました

スーパーコンピューティングクラスター(PSB環境)でmvapichを使用しています。プログラムを実行するには、MPI_THREAD_MULTIPLE サポートを有効にする必要があります。しかし、私のプログラムの出力は、MPI_Init_thread が MPI_THREAD_MULTIPLE を有効にできなかったことを示しています。

PBS スクリプトは次のとおりです。

(最後の行は exe コマンドです。)

私のプログラムは

出力は次のようになります

ヒントをありがとう。:)

0 投票する
0 に答える
389 参照

concurrency - MPI + CUDA AWARE、並行カーネル、および MPI_Sendrecv

仕事中に、ちょっとした問題が見つかりました。現在、CUDA 6.0 で MVAPICH-GDR-2.05 と Open MPI 1.7.4 を使用しています。

MPI_SendrecvGPU 間の非連続要素 (行列の列など) の交換に取り組んでおり、2 つのカーネル (1 つはスキャッター用、もう 1 つはギャザー用) と2 つの GPU 間の通信を同時に実行しようとしています。

CUDA プロファイラー (nvprof) を使用してプログラムの動作を確認したところ、奇妙なことがわかりました。

  • Open MPI 1.7.4 では、3 つの cuda ストリームが同時に動作します。
  • MVAPICH-gdr-2.05 では、2 つの並行カーネルがあり、MPI_Sendrecvそれらと並行ではありません。

なぜMPI_SendrecvMVAPICHでこれを行うのか知っていますか?

これは私の擬似コードです:

そして、これらは 2 つのプロファイラーのスクリーンショットです。

0 投票する
3 に答える
550 参照

c++ - MVAPICH は、熱心なしきい値を超えるメッセージの MPI_Send でハングします

float 型の配列を送信する c++/mpi (mvapich) の簡単なプログラムがあります。MPI_Send、MPI_Ssend、MPI_Rsend を使用すると、データのサイズが熱心なしきい値 (私のプログラムでは 64k) を超えている場合、MPI_Send の呼び出し中にプログラムがハングします。配列がしきい値より小さい場合、プログラムは正常に動作します。ソース コードは次のとおりです。

設定が間違っている可能性があります,パラメータは次のとおりです。

および構成:

プログラムは 2 つのプロセスで実行されます。

何か案は?

0 投票する
0 に答える
807 参照

mpi - mpirun_rsh による MVAPICH2 の cpi サンプルの実行に失敗しました

私は MVAPICH2 の新しいユーザーであり、使い始めたときにトラブルに遭遇しました。
まず、次の方法で正常にインストールできたと思います:
./configure --disable-fortran --enable-cuda
make -j 4
make install
エラーはありませんでした。

しかし、example のディレクトリで cpi の例を実行しようとすると、次のように遭遇しました。

  1. パスワードなしで ssh 経由でノード gpu-cluster-1 と gpu-cluster-4 を接続できました。

  2. mpirun_rsh を使用して gpu-cluster-1 と gpu-cluster-4 で cpi の例を別々に実行したところ、次のように問題なく動作しました:
    run@gpu-cluster-1:~/mvapich2-2.1rc1/examples$ mpirun_rsh -ssh -np 2 gpu-cluster-1 gpu-cluster-1 ./cpi
    プロセス 0/2 は gpu-cluster-1 上にあります プロセス 1/2 は gpu-cluster-1
    上にあります
    pi は約 3.1415926544231318、エラーは 0.0000000008333387
    壁時計時間 = 0.000089

    run@gpu-cluster-4:~/mvapich2-2.1rc1/examples$ mpirun_rsh -ssh -np 2 gpu-cluster-4 gpu-cluster-4 ./cpi
    プロセス 0/2 は gpu-cluster-4 上にあります
    プロセス 1 gpu-cluster-4 上に 2 個あります
    pi は約 3.1415926544231318、エラーは 0.0000000008333387
    ウォール クロック時間 = 0.000134 です

  3. mpiexec を使用して gpu-cluster-1 と gpu-cluster-4 の両方で cpi の例を実行したところ、次のように問題なく動作しました:
    run@gpu-cluster-1:~/mvapich2-2.1rc1/examples$ mpiexec -np 2 -f hostfile ./cpi プロセス
    0/2 は gpu-cluster-1 にあります プロセス1/2
    は gpu-cluster-4 に ありcluster-1\ngpu-cluster-4"




  4. しかし、gpu-cluster-1 と gpu-cluster-4 で mpirun_rsh、borh を使用して cpi の例を実行すると、問題が発生しました:

    run@gpu-cluster-1:~/mvapich2-2.1rc1/examples$ mpirun_rsh -ssh - np 2 -hostfile hostfile ./cpi プロセス 1/2 は gpu-cluster-4 にあります
    -----------------ここで動かなくなり、進行しません ------- -----------------
    久しぶりに Ctrl + C を押すと、

    ^C[gpu-cluster-1:mpirun_rsh][signal_processor] Caught signal 2 が表示されます。 , kill job
    run@gpu-cluster-1:~/mvapich2-2.1rc1/examples$ [gpu-cluster-4:mpispawn_1][read_size] ファイル記述子の予期しない End-Of-File 6. MPI プロセスが停止しましたか?
    [gpu-cluster-4:mpispawn_1][read_size] ファイル記述子 6 で予期しない End-Of-File が発生しました。MPI プロセスが停止しましたか?
    [gpu-cluster-4:mpispawn_1][handle_mt_peer] PMI ソケットの読み取り中にエラーが発生しました。MPI プロセスが停止しましたか?
    [gpu-cluster-4:mpispawn_1][report_error] connect() が失敗しました: 接続が拒否されました (111)
    長い間混乱していました。この問題を解決するために何か助けてもらえますか?

cpi の例のコードは次のとおりです。

code>

0 投票する
1 に答える
748 参照

cuda - マルチ GPU の MVAPICH が原因でセグメンテーション違反が発生する

Debian 7 マシンで MVAPICH2 2.1 を使用しています。テスラK40mのカードが複数あります。コードは次のとおりです。

つまり、最初にデバイスを GPU 0 に設定し、何かを送信します。次に、デバイスを GPU 1 に設定し、何かを送信します。

出力は次のとおりです。

それで、最初の送信はOKです。しかし、デバイスを別の GPU に設定してから MPI を送信するとすぐに、ブームが発生します。なぜこれが起こっているのだろうか。

また、以下のコマンドでMVAPICHをビルドしました。

デバッグを有効にし、スタック トレースを出力しました。うまくいけば、これは役に立ちます..

0 投票する
1 に答える
691 参照

tcp - MVAPICH2 に tcp を使用するように指示するには?

2 つのノード間の通信にインフィニバンドを使用すると (MPI 実装として MVAPICH2 を使用)、アプリケーションで間違った結果が生成されます。

OpenMPI は、ネットワークを指定する可能性を提供します

MVAPICH2 に似たものはありますか?