2010-11-26 9 views
6

omp_set_dynamicが使用されているとき、OpenMPランタイムは最適なスレッド数をどのように決定しますか?omp_set_dynamic - ランタイムはスレッドの数をどのように決定しますか?

何らかのタイミングメカニズムが使用されているか、コンパイラがタスクサイズの大きさのランタイムにヒントを与えていますか?

+0

完全実装固有です。おそらく、ネストされた並列ブロックを使用しない限り、使用可能なすべてのコアを使用することになります – Anycorn

答えて

2

私は、OpenMPが「ベスト」という言葉のような意味でアプリケーションのスレッドの「最良の」数を決定するとは思わない。 @aaaがコメントしたように、omp_set_dynamicがtrueのときのランタイムの動作は実装固有のものです。

現在のFortran/C/C++コンパイラでは、実行時にタイミングやタスクサイズなどの情報を提供できないと思います。

私はスケジューラ(および同様のもの)がスループットなどのためにマシン上のプログラムを管理できるように、この機能を利用できると確信しています。

関連する問題