タグ

ブックマーク / imd.naist.jp/~fujis (2)

  • CUDAアトミック関数 - PukiWiki Plus!

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

  • boost - PukiWiki Plus!

    boost::format #include<boost/format.hpp> printfに似たような感じの書式化処理をする. cout << boost::format("i : %1% - x=%2%, str=%3%") % 1 % 15.0 % "rml"; formatではformatオブジェクト(フォーマッタ)にオペレータ"%" で変数をわせるため, boost::format frmt("i : %1% - x=%2%, str=%3%"); frmt % 1; frmt % 15.0; frmt % "rml"; でも可.std::stringではき出したい場合は,メンバ関数str()かboost::ioのstr(const format&)を用いる. std::string str; str = frmt.str(); str = boost::io::str(f

  • 1