2014-04-02 49 views

回答

1

critical指令指定覆蓋由一個線程同時執行,但會(最終)被認爲遇到它的所有線程執行的代碼。

single指令指定它覆蓋的代碼只能由一個線程執行,但即使這樣做與編譯沒有OpenMP的代碼也不完全相同。 OpenMP對平行區域內可以使用哪些編程結構施加一些限制(,例如不跳出它們)。此外,在運行時,即使實際上沒有並行運行任何代碼,也可能會引發OpenMP的開銷。

相關問題