実行時にインテルコンパイラを使用してMPI FortranでPEの数を変更できるかどうかは疑問でした。 私の問題は非常に具体的で、私は計算の中である時点に達した後でPEの数を減らすことができるかどうかを知りたいと思います。 私の場合は次のとおりです: 私は多くの番号を刻むコードを持っています。巨大な問題を解決するには、約128個のPEが必要です。しかし、計算が終わって解決策を印刷すると、残りの127個のPEはアイドル状態を維持し、これは膨大なリソースの無駄です。 私は計算を終えてまだ解決策を印刷しているときに、127個のPEを「割り当て解除」することは可能ですか?実行時にMPIで実行時にPEの数を変更
0
A
答えて
2
私はこれを達成するための簡単な方法はないと思います。
比較的単純なオプションは、1つのタスクでMPIアプリケーションを起動してからMPI_Comm_spawn()
PEを127個計算し、127個のPEを終了してシリアル部分を続行することです。
一般に、このような128 PEジョブはリソースマネージャーを介して開始され、実際の問題は、バッチマネージャーがジョブ縮小(iirc、SLURM)をサポートできるかどうか、そしてこれがMPI (これは望ましい機能であり、PMIxにはその計画がありますが、SLURMがこれをサポートしているかどうかはわかりません)。
私の最善のアドバイスは、やり方を変えて、MPI-IOを使ってソリューションを並行して印刷することです。
関連する問題
- 1. 実行時にrootとしてMPIを実行する方法/
- 2. 実行時にアンドロイドで実行時にEditTextのテキストを変更する方法
- 3. 実行時にPython 3.6で実行時にUnion型の変数をチェックする
- 4. 実行時にエレメントタイプを変更する
- 5. Jsliderが変更時にコードを実行
- 6. 実行時にテーマを変更する
- 7. 実行時にリピータインデックスを変更する
- 8. Jquery:バインドロード+変更を同時に実行
- 9. NLog - 変数更新(実行時)
- 10. Silverlightで実行時のボタンスタイルを変更
- 11. 実行時にデータベースを変更し、実行時に変更をDjangoに反映させる
- 12. ページのロードと変更時にjQueryで関数を実行
- 13. 実行時に変数のアクセシビリティを変更する
- 14. 実行時に未定義の変数
- 15. 実行時に毎回出力変更が実行される
- 16. 実行時にPythonのグローバルパッケージ変数を更新するには
- 17. 実行時に変数タイプを変更する方法
- 18. Haskell - 実行時に変数を変更する
- 19. Delphi XE2/Intraweb12 - 実行時にポートを変更する/グローバル変数
- 20. 時系列モデルの実行時にインデックスを変更する
- 21. 実行時にスカラで実行時にクラスを取得する
- 22. 実行時にJMeterのテストプランのスレッド数を変更する
- 23. 実行時のアニメーションを変更する
- 24. 実行時の値を変更する
- 25. 実行時のテーマを変更する
- 26. 実行時のレイアウトテンプレートを変更する
- 27. 実行時に
- 28. JMeter:実行時に「思考時間」を変更する
- 29. 実行時のシステムトレイアイコンのスタイルの変更
- 30. 実行時のAndroidウィジェットの変更マージン
ご意見ありがとうございました。私は、MPI-IOの使用が最善の選択だとも信じています。数ヶ月前に実装しようとしましたが、私のパーティションが異なるため、これは本当に難しい作業でした。各ランクには独自の配列サイズがあります。私はその方向に進もうとします –