data[x] += foobar、真面目に書くとdata[x] = data[x] + foobarになる訳だし、こーゆう処理を複数のカーネルに分けちゃうと「別のカーネルが読み取るグローバルメモリーへの書き込みを避けます」に違反しちゃう。 https://hpc-event.jp/hpsc2023/material/hpsc2023_day3_workshop_part2.pdf

ていうか、OpenCLのカーネルプログラミングって複数のカーネルから同じメモリアドレスに関して同時に読み書きが発生した場合って何が起こるんだろう。ちゃんとロックがかかるとは考えにくいんだけど…

Reply to this note

Please Login to reply.

Discussion

No replies yet.