0
我想在OpenACC項目中使用C的floor/ceil函數。當我想對一個值進行原子更新時。OpenACC和floor/ceil函數
#pragma acc atomic update
x=floor(x)+c
編譯器將顯示以下信息:
PGCC-S-0155-無效原子表達 PGCC-S-0155-無效原子區域。
可能是什麼問題?
我想在OpenACC項目中使用C的floor/ceil函數。當我想對一個值進行原子更新時。OpenACC和floor/ceil函數
#pragma acc atomic update
x=floor(x)+c
編譯器將顯示以下信息:
PGCC-S-0155-無效原子表達 PGCC-S-0155-無效原子區域。
可能是什麼問題?
原子操作適用於簡單直接的操作,如+, - ,*和/。如果您查看OpenACC規範的第2.12節(原子構造),您將看到在原子構造中使用的可用操作的列表。
因此,儘管你可以對GPU做floor
,你不能做到這一點在原子部分。