問題タブ [mpich]
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.
cluster-computing - Open MPI / MPICH-ノードが終了するとどうなりますか?
OpenMPI / MPICH2クラスターのノードが終了した場合はどうなりますか?この場合に耐性があり、実行を継続するメカニズムはありますか?
回答ありがとうございますハインリッヒ
cluster-computing - Linpack が起動することもあれば、起動しないこともありますが、何も変わりませんでした
Xeon プロセッサを搭載した 2 ノード クラスタに Linpack をインストールしました。次のコマンドで Linpack を起動すると、次のようになります。
mpiexec -np 28 -print-rank-map -f /root/machines.HOSTS ./xhpl_intel64
linpack が開始され、出力が出力されます。出力された mpi マッピングのみが表示され、その後何も表示されないことがあります。呼び出しの間に何も変更しないため、これはランダムな動作のように思えます。すでに述べたように、Linpack は起動する場合と起動しない場合があります。プロセスが作成され、CPU を大量に使用しているtop
ことがわかりますが、ノード間のトラフィックを監視すると、何も送信されていないことがわかります。xhpl_intel64
iftop
MPI 実装として MPICH2 を使用しています。これは私の HPL.dat です:
編集2:
プログラムをしばらく実行すると、30分後に次のように表示されます。
これはmpiの問題ですか?
これがどのタイプの問題であるか知っていますか?
c++ - MPI_Send / MPI_Recv のペアで、正しく同期されていないとデータが失われる可能性はありますか?
説明させてください。4 つのスレーブ ノード 1、2、3、4 とマスター ノード 0 を考えます。ここで、1、2、3、4 はデータを 0 に送信する必要があります。0 はこのデータを次の形式で受信します。
明らかに、1、2、3、および 4 が 0 にデータを送信する順序を想定することはできません (これらはすべて互いに独立して動作しているため、2 が 1 より前にデータを送信する可能性があるため)。したがって、2 が 1 の前にデータを送信すると仮定すると (たとえば)、上記の 0 の受信ループは、MPI_Recv コマンドのソース タグ 'proc' がプロセッサ '1' に一致するまで開始されません。この順番。
したがって、2、3、4 からデータが到着している場合でも、ループは 1 からデータが到着するまで「待機」します。 1より前に到着?「1」からのデータが到着し始めてから proc が 2 にインクリメントされると、最初に 2 から受信しようとしたデータが単に存在しなくなったという意味で「忘れられた」ことはありますか? それが「忘れられた」場合、特定のスレーブ プロセスのデータを正しく処理できなくなるため、分散シミュレーション全体が停止します。
ありがとう、ベン。
mpi - MPICH2を実行するためのコードブロックの設定
みなさん、こんにちは!
私は学生ですが、現在、コードブロックの設定で問題が発生しました。誰かが私を助けたり、MPIを実行できるようにコードブロックを構成する方法を教えてもらえますか?
すでにCodeBlockとMPICH2をインストールしています。
しかし、コードをコンパイルしようとすると、機能しません。コードブロックはMPIを検出しません。
誰でも私にそれを設定するためのステップバイステップを示すことができます。心から感謝する :)
mpi - MPICH と OpenMPI を比較するベンチマーク プログラムを提案する
私は HPC を初めて使用し、ClusterVisionOS 上で実行されるデュアルコア AMD Opteron プロセッサーを搭載した IBM サーバーで構成されるクラスター上で、MPICH と OpenMPI のパフォーマンス分析と比較を行う必要があります。
MPICH と OpenMPI の実装を比較するには、どのベンチマーク プログラムを選択すればよいですか?
クラスター自体のパフォーマンスを測定しようとしていないため、高性能 Linpack ベンチマークが役立つかどうかはわかりません..親切に提案してください..
ありがとうございました
benchmarking - 32 ノード クラスタで NAS ベンチマークの 256 スレッドを実行中に「p4_error : child process exited error」が発生する
32 ノードのクラスターで実行されている UPC-NAS ベンチマーク (256 スレッド用にコンパイル) を取得しようとしています。実行すると、247 スレッドの rsh 接続が確立され、次のようなエラーが発生して終了します。
問題がどこにあるのか誰でも指摘できますか?
64、128などのより少ないスレッドでは問題なく動作します。
mpi - MPICH/OpenMPI の耐障害性
2 つの質問があります。
Q1 . チェックポイント/ロールバック以外に、MPI でエラー状況を処理するより効率的な方法はありますか? ノードが「死んだ」場合、プログラムが突然停止することがわかりました..ノードが死んだ後に実行を進める方法はありますか?? (精度を犠牲にしても問題ありません)
Q2 . 「http://stackoverflow.com/questions/144309/what-is-the-best-mpi-implementation」で、OpenMPI の方がフォールト トレランスが優れており、最近では MPICH-2 にも同様の機能が追加されていることを読みました。それらが何であり、どのように使用するか知っている人はいますか? 「モード」ですか?Q1に記載されている状況で、彼らは助けることができますか?
返信よろしくお願いします。ありがとうございました。
windows - Windowsでhaskell-mpiのmpiライブラリを見つけるためにcabalを取得できません
問題は解決しました!
- ここに投稿されたドンの指示に従ってください
- 環境変数を開きます([マイコンピューター]-> [プロパティ](コンテキストメニュー内)-> [詳細])
C_INCLUDE_PATH
MPIのインクルードディレクトリを指すように、新しい環境変数を追加または作成します。私の場合、/c/program files/mpich2/include
。LIBRARY_PATH
MPIのlibディレクトリを指すように、新しい環境変数を追加または作成します。私の場合、/c/program files/mpich2/lib
- どういうわけかlibmpi.aを非表示にします。必要に応じて、後で修正できます。これはハックですが、ldが失敗するため、これを行わずにhaskell-mpiをビルドすることはできません。名前を_libmpi.aに変更しました
これで、haskell-mpiはWindows上に構築されるはずです。今後さらにトラブルが発生することを予想していましたが、それが構築され、私の問題は解決しました。
大学のラボの1つにあるラボマシンでhaskell-mpiを使用して、並列コンピューティングクラスの最終プロジェクトを実行したいのですが、haskell-mpiをMPICH2に対してビルドしようとすると問題が発生します。
haskell-mpiはほとんど完全に文書化されておらず、gitリポジトリを掘り下げることで、いくつかのサンプルプログラムをプログラムすることができましたが、Windowsでのセットアップには何の役にも立ちませんでした。私の個人的なLinuxシステムでは、MPICH2に対してhaskell-mpiをセットアップして実行するのに問題はありませんでした。
問題はおそらく、カバールの1つ、MPICH2のインストール方法、またはhaskell-mpiのカバール構成にあるため、タグの選択にあります。
トラブルシューティングのためにここで実験し、必要に応じて情報を追加することもできますが、最終的にはこれらのマシンにアクセスできなくなります。
これを実行するラボで管理者権限を持っているので、MPICH2のインストール自体に問題がある場合は、実際に再インストールできます。
haskell-mpiをインストールしようとすると、cabalは次のように失敗します。
--extra-lib-dirsと--extra-include-dirsに与えてみたものは次のとおりです。
私は、これらのフラグを配置する場所を並べ替えて、バックラッシュを回避し、短いパスPROGRA~1
とこれらのさまざまな順列を使用してみました。ですから、これが役に立たないと思います。依存関係が実際に何を意味するのかを知りmpi
、このライブラリを実際に構築できるように、依存関係をどのように満たすかを理解する必要があります。現時点で前述の2つのフォルダにあるものは次のとおりです。
Libs:
含む:
認識できるほど欠落している可能性のあるものがここにありますか?
私はこの時点でかなり困惑しています。ほぼすべての提案が役立ちます。
よろしくお願いいたします。
PS:これはおそらく「haskell-mpi」のタグが付けられているはずですが、新しいタグを作成することは許可されていません。まだ誰も実際に使っていないようです。
編集:ドンの提案に従って、
MingGWとMSYSをインストールしました。mingw-get updateを実行した後、mingw32-getを使用してlibtools、mingw32-utils、およびmingw32-binutilsを取得しました。Windows構成GUIを使用して、システム全体に対して次の環境変数を設定しました。
echo $LIBRARY_PATH
そしてecho %LIBRARY_PATH%
今、両方とも期待どおりに機能しますが、驚くことはありません。環境変数が設定されます。進歩して。
cabal install haskell-mpi
それでも以前と同じ出力を生成します。
ldで長い間遊んだ、巨大な赤いニシン...
libmpi.aをldから非表示にして機能させる必要がありましたが、haskell-mpiがビルドされるようになりました。
ステップバイステップの詳細を一番上に置きます。
mpi - MPICHおよびOpenMPIのエラーハンドラー
MPI_ERROR_RETURNとMPI_ERRORS_ARE_FATAL以外にOpenMPIとMPICHに実装されているエラーハンドラーはありますか?エラーの処理に適した実装はどれですか?同じことについてのより多くの情報のためのリンクを親切に提案してください。
mpi - Hydra MPI の最大の進歩は何ですか
私は MPICH2 に自動的に付属する新しい Process Manager について勉強していますが、今までこの実装の大きな進歩が何であるかを理解できません。誰かが良いチュートリアルを知っているか、経験がありますか?
アルゴンヌ wiki はちょっと単純すぎる: http://wiki.mcs.anl.gov/mpich2/index.php/Using_the_Hydra_Process_Manager