問題タブ [mpi4py]
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.
python - MPI の予期しない実行
Python でコードを並列化しようとしていますが、いくつか問題があります。これはコードの一部です:
最後の行で d を呼び出すとき、プロセス 1 で定義された Survivor.movement() を呼び出すべきではありませんか? ゲームを実行すると、メイン キャラクターが動きません。しかし、どこからでも d を削除し、survivor.movement() を最後の行に配置すると、期待どおりに動作します。誰でも私を助けることができますか?
ipython - IPythonノートブックでmpi4pyを使用するには?
Ipythonノートブック用の8つのエンジンで実行されているipclusterがあります。したがって、次のようになります。
を与え[0, 1, 2, 3, 4, 5, 6, 7]
ます。しかし、mpi4py にこれらのエンジンを表示させることができません。
を与え1
ます。私は基本的な何かが欠けていると思うので、助けていただければ幸いです。
python - mpi4py を使用したホスト キーの検証に失敗しました
Arch Linux ARM (より具体的には Raspberry Pi クラスター上) で mpi4py (1.3.1) と openmpi (1.8.6-1) を使用して MPI アプリケーションを構築しています。3 つのノード (4 つのプロセス) でプログラムを正常に実行しました。新しいノードを追加しようとすると、次のようになります。
面白いことに、同じノードを使用しているため、ssh キーは問題ありません (ホスト ファイルの任意のエントリを削除し、新しいノードを追加すると機能するので、問題はないと確信しています。 ssh の設定が間違っている (5 つのプロセスを使用している場合にのみ発生します)。
これは何らかのライブラリのバグでしょうか?
ここに私のホストファイルがあります
前もって感謝します!
python - mpi4py と並行してテキスト ファイルを分析する
入力タブで区切られたテキスト ファイルがあります。
プレーンなPythonで次のように分析します。
を使用して同じ操作を並行して実行するにはどうすればよいmpi4py
ですか? でこれを実装し始めましたが、リスト要素をノード数と同じ長さにする必要がscatter
あるため、すぐには機能しません。scatter
python - インストールせずに mpi4py (または任意の python モジュール) を使用する
モジュールを使用numpy
して記述した並列コードがいくつかあります。mpi4py
今まではラップトップで実行していましたが、大学のコンピューティング クラスターを使用して、より大きな問題サイズに取り組みたいと考えています。問題は、mpi4py がインストールされていないことです。必要なファイルをクラスター内のホーム ディレクトリにコピーしてモジュールを使用する方法はありますか?
- ルートアクセスなしでインストールする方法をいくつか試しましたが、うまくいきませんでした。そのため、モジュールをリモートマシンにコピーするだけでモジュールを使用する方法を探しています
- ターミナルから ssh を使用してクラスターにアクセスします
python - 特定のランクへの MPI Bcast または Scatter
私はいくつかのデータの配列を持っています。私がやろうとしていたことは次のようなものです:
ランク 0 を使用して、データを 50 ノードにブロードキャストします。各ノードには 1 つの mpi プロセスがあり、そのプロセスで 16 コアを使用できます。次に、各 mpi プロセスが python multiprocessing を呼び出します。いくつかの計算が行われた後、mpi プロセスは multiprocessing で計算されたデータを保存します。次に、mpi プロセスはいくつかの変数を変更し、マルチプロセッシングを再度実行します。等。
そのため、ノードはすべてのデータを受信する最初の起動を除いて、相互に通信する必要はありません。
マルチプロセッシングはうまく機能していません。だから今、私はすべてのMPIを使いたいです。
bcast または scatter の MPI ランクを参照する整数の配列をどのように使用できますか (または使用できませんか)。たとえば、ランク 1 ~ 1000 の場合、ノードには 12 個のコアがあります。したがって、12 ランクごとにデータをブロードキャストしたいと考えています。次に、12番目のランクごとに、データを12 + 1から12 + 12ランクに分散させます。
これには、最初の bcast が totalrank/12 と通信する必要があり、次に各ランクが同じノードのランクにデータを送信し、結果を収集して保存し、同じノードのランクにさらにデータを送信する必要があります。