2016-09-04 6 views
0

OpenACCプロジェクトでCのfloor/ceil関数を使用したいと思います。私が値の原子的な更新をしたいとき。OpenACCとfloor/ceil関数

PGCC-S-0155-無効原子発現 PGCC-S-0155-無効アトミック領域:

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

コンパイラは、次のメッセージを示しています。

何が問題なのですか?

答えて

0

アトミック操作は、+、 - 、*、および/などの簡単でわかりやすい操作です。 OpenACC仕様のセクション2.12(原子構造)[link]を見てみると、アトム構造で使用できる操作のリストが表示されます。あなたはGPU上floorを行うことができるが

だから、あなたは原子セクションでそれを行うことはできません。

関連する問題