2016-09-04 54 views
0

我想在OpenACC項目中使用C的floor/ceil函數。當我想對一個值進行原子更新時。OpenACC和floor/ceil函數

#pragma acc atomic update 
x=floor(x)+c 

編譯器將顯示以下信息:

PGCC-S-0155-無效原子表達 PGCC-S-0155-無效原子區域。

可能是什麼問題?

回答

0

原子操作適用於簡單直接的操作,如+, - ,*和/。如果您查看OpenACC規範的第2.12節(原子構造),您將看到在原子構造中使用的可用操作的列表。

因此,儘管你可以對GPU做floor,你不能做到這一點在原子部分