我有我的集羣中的問題。我正在使用一個沒有線程的舊系統(它們沒有在我的系統中實現)。我的問題很簡單:我可以與OpenMP並行工作,而無需在程序中定義線程數量?我的意思是,用真正的核心使用openMP。 如果是這樣的話,我想知道如何去做。我用的Fortran 90的工作OpenMP的無緒
回答
您可以使用變量OMP_NUM_THREADS指定你要多少線程運行。這隻有在與程序相關的指令沒有被指定時纔有效。
如果你想在節點之間計算,你應該看一看MPI。
警告:如果您的系統每個節點只有1個核心,您將不會受益於使用多個線程,甚至可能會導致性能下降。您唯一希望的是處理器啓用了多線程,但它不會與多核相同。
我真正的問題是我的系統(有幾個內核)相當老,沒有實現線程(硬件不適應它們)。所以我不能用句子作爲「OMP_NUM_THREADS」。我的問題與使用真實內核而不是線程的openMP更相關。如果它使用的線程是真正的物理線程(每個核心一個)或模擬(每核多線程又名幾個線程) – user3209698
OpenMP的不關心。我的第二段意在作爲警告。我會編輯它以使其更清晰。 – miguelbernadi
OpenMP的規範基於線程。如果您的操作系統中沒有線程支持,則OpenMP將無法編譯。如果它編譯,miguelbernardi寫的所有內容都是正確的。 – Soravux
- 1. 無監督情緒分析
- 2. OpenMP的「共享」無效「的#pragma OMP
- 3. OpenMP num_threads(1)執行速度快於無OpenMP
- 4. 的OpenMP
- 5. OpenMP無子線程中的線程
- 6. 無法理解OpenMP的部分
- 7. jQuery的$。就緒
- 8. openmp with single thread vs openmp
- 9. 無法加載情緒模型
- 10. 情緒預測谷歌情緒API
- 11. 情緒分析與情緒分析
- 12. OpenMP的使用
- 13. Fortran中的OpenMP
- 14. OpenMP的任務
- 15. 爲OpenMP的
- 16. OpenMP錯誤無效控制謂詞
- 17. OpenMP:無法並行嵌套for循環
- 18. Openmp無法自動創建線程
- 19. OpenMP - Easy Loop,但仍然無限?
- 20. OpenMP中
- 21. OpenMP Segfault
- 22. OpenMP中
- 23. 情緒分析
- 24. 的OpenMP塊錯誤
- 25. OpenMP的for循環
- 26. C++的OpenMP與shared_pointer
- 27. 線程在OpenMP的
- 28. 從OpenMP的到MPI
- 29. 單核上的OpenMP
- 30. OProfile的使用OpenMP
問題不計算。所以你的意思是你的系統只有一個核心?如果是,爲什麼你想用omp開頭? – Voo
我從來沒有嘗試單核/線程的CPU上,但我認爲你可以設置環境變量OMP_NUM_THREADS定義的線程數。在類linux系統中,在運行可執行文件之前運行shell命令export OMP_NUM_THREADS = 2。 – innoSPG