アトミック関数 あるスレッドがグローバルメモリやシェアードメモリ上のデータを読み込み,修正し,書き込む(read-modify-write)という一連の処理を行うとき,その処理中にそのメモリ領域に他のスレッドが書き込みが行われないようにしたい場合があります.CUDAにはこれを保証するアトミック関数が用意されており,32bitまたは64bitワード長のread-modify-write操作中に他のスレッドからの干渉を防いでくれます. CUDAのアトミック関数はその名前がatomicから始まっているのでわかりやすいと思います. また,signed integerとunsigned integerのみ対応しています(atomicExch()を除く). 各関数は引数として,intもしくはunsigned intのアドレスと値を取ります (atomicExch()はfloatも,atomicInc