問題タブ [openmpi]
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.
gcc - Netbeansのビルドに失敗しています(新しいOpen MPIライブラリをポイントするにはどうすればよいですか?)
OS XでNetbeansを使用してC開発を行っていますが、プロジェクトのビルドに失敗し、「...このOpenMPIのインストールはFortran90サポートでコンパイルされていません」と述べています。
新しいgccとOpenMPI(デフォルトバージョンと一緒に)をインストールしました。コマンドラインでmakeを使用してそれらを使用してビルドできます。これにより、NetbeansはデフォルトのOpen MPIインストール(Fortranサポートがなかった)を使用していると思います。正しければ、新しいインストールを使用するにはどうすればよいですか?ツールコレクションマネージャ([ファイル]->[プロジェクトプロパティ]->[ビルド]->[ツールコレクション]->[...])を介して、他のコンパイラについてNetbeansに通知しました。しかし、私はOpenMPIについてそれを伝える方法を知りません。
macos - 1台のマシンのOSXでmpirunを使用する
mpirun
OS Xでシングルマシンモードで使用するのに問題があります。を使用してプログラムを実行mpirun -np 5 my_program
すると、次のエラー出力が表示されます。
どうやら、デフォルトではマシンへの接続にmpirun
使用されます。rsh
代わりに使用してみssh
ましたが、役に立ちませんでした。
次に、共有メモリ(sm
)BTLを使用してみましたが、どちらも役に立ちませんでした。
最後に、マシンファイルを使用して、使用するだけであることを指定しようとしましたがlocalhost
、どちらも役に立ちませんでした。
ここでは、(単一の)最初の行にmachinefile.local
のみ含まれています。localhost
上記のすべての場合で、上記のタイムアウトエラーが発生します。
また、Mac OS Xファイアウォールが実行されておらず、マシンにSSH接続できることを確認しました。
c - OpenMPIMPI_Barrierの問題
MPI_BarrierのOpenMPI実装を使用して同期の問題が発生しました。
mpirun -n2./a.outの場合
出力は次のようになります:P0P1..。
出力は時々:P0P0再びP1P1再び
どうしたの?
mpi - MPICH と OpenMPI を比較するベンチマーク プログラムを提案する
私は HPC を初めて使用し、ClusterVisionOS 上で実行されるデュアルコア AMD Opteron プロセッサーを搭載した IBM サーバーで構成されるクラスター上で、MPICH と OpenMPI のパフォーマンス分析と比較を行う必要があります。
MPICH と OpenMPI の実装を比較するには、どのベンチマーク プログラムを選択すればよいですか?
クラスター自体のパフォーマンスを測定しようとしていないため、高性能 Linpack ベンチマークが役立つかどうかはわかりません..親切に提案してください..
ありがとうございました
mpi - MPICH/OpenMPI の耐障害性
2 つの質問があります。
Q1 . チェックポイント/ロールバック以外に、MPI でエラー状況を処理するより効率的な方法はありますか? ノードが「死んだ」場合、プログラムが突然停止することがわかりました..ノードが死んだ後に実行を進める方法はありますか?? (精度を犠牲にしても問題ありません)
Q2 . 「http://stackoverflow.com/questions/144309/what-is-the-best-mpi-implementation」で、OpenMPI の方がフォールト トレランスが優れており、最近では MPICH-2 にも同様の機能が追加されていることを読みました。それらが何であり、どのように使用するか知っている人はいますか? 「モード」ですか?Q1に記載されている状況で、彼らは助けることができますか?
返信よろしくお願いします。ありがとうございました。
macos - openmpiでmeepをコンパイルする
Corei7プロセッサを搭載したiMacでOpenMPIを使用してMITからmeepを構築しようとしています。macportを使用してOpenMPIをインストールしました。
OpenMPIでhdf5もインストールしました。
を使用してmpiを使用してmeepをコンパイルしようとすると--with-mpi
、meepがコンパイルされず、次のエラーメッセージが表示されます。
何が悪いのかわかりません。meepのWebサイトに記載されている指示に従っています。並列MeepおよびMeepインストール
助けてください。
c - MPI_Isend と MPI_Irecv がデッドロックを引き起こしているようです
MPI でノンブロッキング通信を使用して、プロセス間でさまざまなメッセージを送信しています。ただし、デッドロックが発生しているようです。PADB (こちらを参照) を使用してメッセージ キューを調べたところ、次の出力が得られました。
これは、送信が完了したことを示しているようですが、すべての受信が保留中です (上記はタグ値 16 のログのほんの一部です)。しかし、これはどのように起こりますか?MPI ではすべての送信と受信が一致する必要があるため、関連する受信が完了しないと送信を完了できません。少なくとも私はそう思っていました…
誰でも洞察を提供できますか?
これを行うために使用しているコードを提供できますが、MPI_Waitall が最後に呼び出されると仮定すると、Isend と Irecv はすべての呼び出し順序に関係なく機能するはずです。
更新:コードはこの要点で入手できます
更新:コードにさまざまな変更を加えましたが、まだ正しく動作していません。新しいコードは同じ要点にあり、取得している出力はこの要点にあります。このコードにはいくつかの質問/問題があります:
出力前にすべての作業が完了していることを確認するために MPI_Barrier() がある場合、最終ループ (すべての配列の出力) からの出力が残りの出力に散在するのはなぜですか?
ランク 0 からランク 0 に送信することは可能/合理的です - それはうまくいきますか? (もちろん、正しい一致する受信が投稿されたと仮定します)。
出力に非常に奇妙な長い数値がたくさん表示されます。これは、ある種のメモリ上書きの問題、または変数のサイズの問題であると思います。興味深いことに、これは MPI 通信の結果であるに違いありません。なぜなら、new_array を 9999.99 の値に初期化すると、通信によって明らかにこれらの奇妙な値に変更されるからです。理由はありますか?
全体的に、転置の一部が発生しているように見えます (マトリックスのビットが転置されているようです...) が、すべてではありません - 私が最も心配しているのは、これらの奇妙な数値です!
c - MPI_Type_create_subarrayを使用して送信するときに配列を転置できますか?
CでMPIを使用してマトリックスを転置しようとしています。各プロセスには正方形のサブマトリックスがあり、それを正しいプロセス(グリッド上の「反対側」のプロセス)に送信して、通信の一部として転置します。
私は、それぞれ行メジャーと列メジャーのいずれか、またはMPI_Type_create_subarray
順序の引数を持つwhichを使用しています。これらの1つとして送信し、もう1つとして受信した場合、私のマトリックスは通信の一部として転置されると思いました。ただし、これは発生しないようです。転置されないままです。MPI_ORDER_C
MPI_ORDER_FORTRAN
コードの重要な部分は以下のとおりです。コードファイル全体は、この要点で入手できます。なぜこれが機能しないのか誰かが何か考えを持っていますか?転置作業を行うためのこのアプローチは必要ですか?MPI_ORDER_C
との説明を読んだら、そうなると思っていたでしょうが、そうではMPI_ORDER_FORTRAN
ないかもしれません。
c - 実行時の「MPI_Bcast」er
ブロードキャスターが実行時に決定される場合、MPI_Bcast を実行するにはどうすればよいですか? この場合、ルート ノードを指定するにはどうすればよいですか?
配列内の個別の番号を検索しようとしています。ノードが番号を見つけた場合、その場所を他のすべてのノードにブロードキャストする必要があります。ただし、事前にファインダーがわからないため、「ルート」値は次のようになります。
mpi - MPICHおよびOpenMPIのエラーハンドラー
MPI_ERROR_RETURNとMPI_ERRORS_ARE_FATAL以外にOpenMPIとMPICHに実装されているエラーハンドラーはありますか?エラーの処理に適した実装はどれですか?同じことについてのより多くの情報のためのリンクを親切に提案してください。