0
OpenACCプロジェクトでCのfloor/ceil関数を使用したいと思います。私が値の原子的な更新をしたいとき。OpenACCとfloor/ceil関数
PGCC-S-0155-無効原子発現 PGCC-S-0155-無効アトミック領域:
#pragma acc atomic update
x=floor(x)+c
コンパイラは、次のメッセージを示しています。
何が問題なのですか?
OpenACCプロジェクトでCのfloor/ceil関数を使用したいと思います。私が値の原子的な更新をしたいとき。OpenACCとfloor/ceil関数
PGCC-S-0155-無効原子発現 PGCC-S-0155-無効アトミック領域:
#pragma acc atomic update
x=floor(x)+c
コンパイラは、次のメッセージを示しています。
何が問題なのですか?
アトミック操作は、+、 - 、*、および/などの簡単でわかりやすい操作です。 OpenACC仕様のセクション2.12(原子構造)[link]を見てみると、アトム構造で使用できる操作のリストが表示されます。あなたはGPU上floor
を行うことができるが
だから、あなたは原子セクションでそれを行うことはできません。