OpenMPで定義されているコアの数はどのくらいですか?このAPIはコアの存在をどのように知っていますか?OpenMPはどのようにしてシステムのコア数を決定しますか?
答えて
OpenMPは、基本的に並列領域のスレッド数を制御する内部制御変数(ICV)nthreads-varを定義しています。
初期値nthreads-var(環境変数OMP_NUM_THREADS
で定義されていない場合)は、実装定義です。コアの数は合理的なデフォルトのように見えるかもしれません。 GCC(libgomp)はBSD、Linux、mingw32、POSIX、rtemsをgomp_init_num_threads
に実装しています。具体的な実装はlibgomp/config/<platform>/proc.c
で確認できます。
Linuxはスレッドアフィニティーをpthread_getaffinity_np
でチェックし、スレッドの数をプロセスの実行が許可されているCPU数に設定します。同様にGetProcessAffinityMask
を介してMinGW。残りのプラットフォームは基本的にsysconf(_SC_NPROCESSORS_ONLN)
を使用します。
OpenMPはOpenMP 4.0+のスレッド配置APIにコアの概念を持っています。 Linux上のGCCとIntel OpenMPの両方のランタイムは、トポロジー情報を見つけるために 'sysfs'のCPUエントリを解析します。 –
@HristoIliev良い点。 OPには、私が取り組もうとしていたOpenMPスレッドに関するいくつかの基本的な誤解があると私は思う。より技術的に正しい答えを編集しました。 – Zulan
- 1. 定数のアクセシビリティはどのようにして決まりますか?
- 2. テキストファイルの行数はどのようにして決定されますか?
- 3. OpenMPはどのようにネストループを処理しますか?
- 4. どのようにして桁の偶数を決定できますか?
- 5. Linuxはどのようにデバイスクラスを決定しますか?
- 6. UIImageはどのようにスケールサイズを決定しますか?
- 7. addToSetはどのように複製を決定しますか?
- 8. Javaはどのように 'file.encoding'システムプロパティを決定しますか?
- 9. omp_set_dynamic - ランタイムはスレッドの数をどのように決定しますか?
- 10. スパークはどのようにタスクの数を決定しますか?
- 11. カサンドラのストレステストはスレッド数をどのように決定しますか?
- 12. Set.contains()はサブセットかどうかをどのように決定しますか?
- 13. Postgresのシステム単位ファイルは、実行するPostgresのバージョンをどのように決定しますか?
- 14. openMP:特定のコアに特定のスレッドを割り当てる
- 15. Wolfram AlphaやMathematicaのようなシステムは、方程式をどのように解決しますか?
- 16. パラメータに追加する変数のSQLDBTypeはどのようにして決定しますか?
- 17. DOM要素のXPathはどのようにして決定できますか?
- 18. PartyIdのEntityタイプはどのようにして決定できますか?
- 19. RandomForestClassifierのfeature_importancesはどのようにして決定されますか?
- 20. 特定のObjective-C定数の実際の値はどのようにして決定するのですか?
- 21. GlobはどのようにBLOBに入るのかをどのように決定しますか?
- 22. OpenMPのparalelization私はOpenMPのに新しいですし、私は、OpenMPを使用して、次のコードをparalelizeしようとしていますベクトル
- 23. OpenMP、コア数、乱数計算の精度
- 24. 関数の名前空間はどのようにして決定しますか?
- 25. どのようにしてデバイスの角度を決定できますか?
- 26. どのようにしてモニタのリフレッシュレートを決定できますか?
- 27. wordpress permalinkシステムはどのように機能しますか?
- 28. C++ 17例外指定型システムはどのように機能しますか?
- 29. .netは "foreach"ループの順序をどのように決定しますか?
- 30. SVMはテキストデータのマージンをどのように決定しますか?
@zulanチェックしましたが、nthreads-varのデフォルト値は1ですが、コアの数は通常1より大きいと言われています。つまり、noとの関係はありません。コアの? –
それはどこにありますか? OpenMP標準4.5では、2.3.2ではデフォルトが*実装定義*となっています。 – Zulan