8
A
回答
13
是的,命名的通話將努力設置線程的親和力。唯一的問題是修復線程號並在正確的線程中設置正確的關聯(您可以嘗試使用已知數量的線程的for
循環的靜態調度)。
據我所知,幾乎每個openmp都允許通過環境設置親和力。環境變量的名稱各不相同(前一段時間沒有標準化)。 我使用http://www.spec.org/omp2001/results/omp2001.html頁面來查找openMP實現,並且將搜索特定的環境變量名稱。親和力設置在specOMP結果的一半左右。結果中還有一些額外的OpenMP性能調整設置。
例如For intel compiler變量是
export KMP_AFFINITY=compact,0
export SUNW_MP_PROCBIND=TRUE
export GOMP_CPU_AFFINITY=0-63
其中63最大CPU數目(從0開始計數時)
而且newer OpenMP Standard, version 3.1定義環境變量OMP_PROC_BIND(見secti 4.4),這是在OpenMP中設置親和性的標準方式。用法是:
export OMP_PROC_BIND=true
相關問題
- 1. OpenMP和NUMA關係?
- 2. 關閉OpenMP
- 3. 無法在分叉進程中設置OpenMP線程關聯
- 4. GSL和關聯
- 5. Simple_form和關聯
- 6. OpenMP和功能
- 7. Boost Random和OpenMP
- 8. MacOS,CMake和OpenMP
- 9. Clion和OpenMP
- 10. 使用OpenMP構建LLVM/Clang時與OpenMP和C++相關的錯誤
- 11. 關聯和Grails webflow
- 12. 如何在單個CPU的多個CPU核心上設置關聯,而不是在多個CPU上?
- 13. 關於CPU操作和I/O處理
- 14. OpenMP和核/線程
- 15. 你如何改變CPU緩存的關聯性?
- 16. OpenMP線程在相同的CPU核心上執行
- 17. SQLAlchemy的級聯和關聯對象
- 18. ColdFusion和關聯數組
- 19. emacs,erlang和文件關聯
- 20. 聯合收益和開關
- 21. IID_PPV_ARGS和非關聯化NULL
- 22. SimpleXML,關聯數組和XPath
- 23. Clojurescript Swap!和多個關聯
- 24. form_for和rails中的關聯
- 25. Sails.js和Ember.js嵌套關聯
- 26. Rails關聯和表單
- 27. Rails和to_json中的關聯
- 28. 關聯用戶和文章
- 29. 版本和多態關聯
- 30. 關聯數據和標記
謝謝!在語言層面上沒有任何東西,比如'pthread_attr_setaffinity_np'? –
不,openmp標準沒有線程綁定的附註或函數。唯一的方法(也是推薦的一種)是通過環境變量,編譯器特定或openmp3.1綁定線程。在啓動main之前,應儘早完成此設置。 – osgx
所以,嚴格來說,你的答案應該以「否」開頭:) –