[英]Openmp atomic and critical
我是openmp的新手,正在為一個學校項目玩一些東西。 我試圖通過使用原子而不是關鍵來使我的程序運行得更快。 我在其中一個for循環的末尾有這段代碼。
if(prod > final_prod)
{
#pragma omp atomic
final_prod = prod;
}
雖然當我這樣做時,我得到下面的錯誤(如果我使用批評程序編譯好)
error: invalid form of ‘#pragma omp atomic’ before ‘;’ token
final_prod = prod;
^
從我到目前為止學到的東西,你可以使用原子而不是關鍵,通常可以在一些機器指令中執行。 這有用嗎? 使用原子與關鍵之間的主要區別是什么?
您只能使用#pragma omp atomic的以下形式的運算符:
原子指令通常更快,但語法非常嚴格。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.