

MPI では -np と OMP_NUM_THREADS の値をどのように設定すればよいですか？  
PCによって，値は決まっていますか？


CC BY-SA 4.0
2018-09-21T10:51:58.120
48624
2018-09-23T14:20:23.807
2018-09-23T14:20:23.807
19110
30199
question
fortran mpi
MPI では -np と OMP_NUM_THREADS の値をどのように設定すればよいですか？


並列数の最大値は PC ごとに決まっています。

その PC でどれくらいの並列数が持てるのかの確認で、一番簡単なのは、

Linux

[code]

    $ top
    
[/code]

そのまま `1` を押す

[![画像の説明をここに入力](https://i.stack.imgur.com/8QecF.png)](https://i.stack.imgur.com/8QecF.png)

この場合 8 並列が可能です。

* * *

Windows

タスクバーで右クリック > タスクマネージャ > [パフォーマンス]タブ > [CPU]タブ > グラフ上で右クリック > グラフの変更 > 論理プロセッサ

[![画像の説明をここに入力](https://i.stack.imgur.com/TLvZy.png)](https://i.stack.imgur.com/TLvZy.png)

この場合も 8 並列が可能です。

* * *

きちんと MPI で書かれた fortran プログラムの実行バイナリが `a.out` であり、並列数が `8` だとすれば

[code]

    mpirun -np 8 ./a.out
    
[/code]

になります。

また、`OMP_NUM_THREADS` は OpenMP を使う際の並列数に関する環境変数です。MPI 系とは似て非なりますので、まずは MPI
か、OpenMP か、どちらでかかれたプログラムを実行しようとしているのか調べると早い解決に繋がると思われます。


CC BY-SA 4.0
2018-09-22T07:37:21.510
48639
2018-09-22T07:52:27.317
2018-09-22T07:52:27.317
29146
29146
48624
answer