我想執行一些應用程序平行使用sse指令和openmp。 關於的openmp部分我有這樣的代碼:OpenMP劃分循環通過核心
for(r=0; r<end_condition; r++){
.. several nested for loops inside ..
}
我想要分割該環R上在多個核,例如使用兩個核心當一個核心應該執行使r = 0 .. R = end_condition/2 -1,另一個r = end_condition/2 .. r = end_condition-1。循環迭代之間沒有任何通信,所以它們可以並行運行,在循環結束時應該同步結果。
我怎樣才能使用openmp指令以這種方式在內核上分配這個內核呢?我是否必須在r上展開循環並使用openmp部分?
在此先感謝
通過告訴OpenMP爲循環使用靜態計劃可能會鼓勵分解,但這可能不會有幫助。 – Novelocrat