問題タブ [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.
java - Java の MPI 実装
現在の Java MPI 実装はありますか。私は MPI で少しプログラミングしたことがあり、Java でのプログラミングを楽しんでいます。この実装を Java で見たことがありますが、時代遅れのようです。維持されている最新の Java 実装はありますか?
macos - OS X での mpirun
62 を超えるプロセスを持つ OS X leopard(10.5.6) でローカル mpi ジョブをローカルで実行する方法はありますか。62 プロセスでジョブを実行すると、終了します
61プロセスで実行すると、正常に動作します。
c++ - MPI 遺伝的モンテカルロ アルゴリズム リソース?
私は何人かの友人と協力して、Matlab 遺伝的アルゴリズムを C++ に変換してきましたが、現在は順番に動作しています。Matlab は現在のコードの一部ではなくなりました。
クラスターで使用することを検討していますが、リソースが少し不足しています。大学にはクラスタがあり、Rocks と OpenMPI が搭載されていますが、どこから作業を開始すればよいかわかりません。
現在、データを含む 2D および 3D 配列のセットアップがあり、システムがモデル間でクロスオーバーまたは交換を行っている場合、2D および 3D 配列の一部を交換しようとします。これらの構造を複数のノードに分割する良い方法は何ですか?
c++ - C++ プログラムへの MPI サポートの追加
MPI サポートを追加したい C++ で実装されたプログラムがあります。名前空間 MPI とすべてを備えた、C++ 用の MPI バインディングがあります。
私の場合、クラスターへの並列化プロセスに適した特定のオブジェクトがあります。
私の質問は次のとおりです。
- 誰かが前にこのようなことをしたことがありますか? これを実装するための最善の方法についてアドバイスをいただけますか?
- コンストラクター内で MPI を初期化するにはどうすればよいですか? クラスのコンストラクター内で MPI を初期化した後、すべての中間呼び出しも並列化されますか?
例えば:
c++ - mpi プログラムの gui
単純な mpi プログラムについて問題があります。このプログラムにはいくつかの 3D ポイントがあり、これらのポイントはプログラム中に移動します。C++ を実装して簡単なコードを作成し、簡単な GUI を追加してみました。gnuplot ライブラリを使用しましたが、問題があります。gui関数を呼び出すと、guiが作成され、同時に消えます。つまり、ポイント オブジェクトには x、y、z 座標があり、ポイント オブジェクトを含む配列があります。それらをguiとして作成したい。この問題について教えていただけますか?
助けてくれてありがとう..
performance - MPI は大量のソフトリアルタイム IPC に適していますか?
単一のサーバーがあり、2 つのプロセス タイプ A (多数のプロセスが多数のスレッドを処理する) と B (1 つのプロセスが n-cpu の n スレッド) を持っていて、大量の一方向メッセージを A から B に送信したいとします。 . MPI は、以下を使用するカスタム実装よりも優れた実装ですか?
- Unix ドメインソケット
- Windows 名前付きパイプ
- 共有メモリ
1 と 2 に基づいて独自のライブラリを作成することを考えていましたが、共有メモリにはロックが必要になるため、3 の方が優れているかどうかも疑問に思っています。
プロセス A は外部サービスを提供するため、B のリソースの使用と一般的なメッセージ パッシングはできるだけ少ないリソースを消費する必要があり、A はメッセージを送信するときにブロッキングまたは非ブロッキングの両方で実装できます。B のリソース使用量とメッセージ パッシングは、A の使用量に比例してスケーリングする必要があります。
最終的には、マシン間のブロードキャスト機能も必要になります。おそらくプロセスBです。
私の別れの質問は、MPI (特に openMPI) はこれに適したライブラリであり、さまざまなオペレーティング システムで最適なカーネル プリミティブを使用するかどうかです。
java - MPI、Sungrid vs JPPF?
SungridEngine と MPI (OpenMPI を使用) の経験が少しあります。これらのフレームワーク/API と JPPF の違いは何ですか?
c - MPI でこの問題を高速化する方法
(1)。MPI を使用して、以下のコードのループで時間のかかる計算を高速化するにはどうすればよいでしょうか?
コードのように、MPIで並列する部分の前後で何らかの操作をしたいのですが、並列部分の開始位置と終了位置を指定する方法がわかりません。
(2) 私の現在のコードは、通信を高速化するために OpenMP を使用しています。
MPI を使用するように変更したいのですが、OpenMP と MPI の両方でコードを作成することは可能ですか? 可能であれば、コードの書き方と、コードをコンパイルして実行する方法を教えてください。
(3) 私たちのクラスターには、mvapich-1.0.1、mvapich2-1.0.3、openmpi-1.2.6 の 3 つのバージョンの MPI があります。使い方は同じですか?特に私の場合。どちらを使用するのが最適ですか?
よろしくお願いします!
アップデート:
並列部分の開始と終了を指定する方法に関する私の質問について、もう少し説明したいと思います。次のおもちゃのコードでは、関数 f() 内の並列部分を制限したいと考えています。
ただし、実行中の出力は想定されていません。並列部分の前後の printf 部分は、メイン プロセスだけでなく、すべてのプロセスによって実行されています。
したがって、並列部分は MPI_Init() と MPI_Finalize() の間で制限されていないように思えます。
これ以外にも、誰かが私の他の質問に答えてくれることを願っています。ありがとう!
cluster-computing - クラスタでMPIをテストする
私はクラスター上でOpenMPIを学んでいます。これが私の最初の例です。出力には異なるノードからの応答が表示されると思いますが、それらはすべて同じノードnode062から応答します。MPIが実際にプロセスをさまざまなノードに分散していることを示すために、さまざまなノードから実際にレポートを取得する理由と方法を知りたいのですが。ありがとう、よろしく!
ex1.c
ex1.pbs
コンパイルして実行します。
アップデート:
単一のPBSスクリプトで複数のバックグラウンドジョブを実行して、ジョブを同時に実行できるようにしたいと思います。たとえば、上記の例では、ex1を実行するための別の呼び出しを追加し、両方の実行をex1.pbsのバックグラウンドに変更しました。
(1)以前にコンパイルされた実行可能ファイルex1でこのスクリプトをqsubした後、結果は良好です。
(2)ただし、ex1の実行時間は速すぎると思います。おそらく、2つのバックグラウンドジョブの実行時間はあまり重なっていないと思います。これは、実際のプロジェクトに同じ方法を適用した場合には当てはまりません。そこで、ex1.cにsleep(30)を追加して、ex1の実行時間を延長し、ex1をバックグラウンドで実行している2つのジョブがほぼ常に同時に実行されるようにしました。
しかし、再コンパイルとqsubを再度実行した後、結果は正しくないようです。中止されたプロセスがあります。ex1.o35571:
ex1.e35571:
なぜプロセスが中止されるのだろうか?PBSスクリプトでバックグラウンドジョブを正しくqsubするにはどうすればよいですか?
virtualization - クアッドコアと VM での並列プログラミング?
並列プログラミングをゆっくりと始めようと思っています。OpenMPI がインストールされたクラスターを使用して、このようなことを学習する人を見てきました。クラスターにはアクセスできませんが、クアッドコア マシンを使用しています。ここで何かメリットを感じることができますか? また、仮想マシン内で Linux を実行している場合、VM 内で OpenMPI を使用しても意味がありますか?