CUDA

CURANDライブラリを使う [Device API]

CUDA Toolkit 3.2から,CURANDという疑似乱数ジェネレータライブラリが導入されました.GPUによる乱数の生成を行えるライブラリです.CURANDは,2つのAPIカテゴリから構成されています. Host API ホストからの使用を目的としたAPI群.Device APIの上に構築…

CURANDライブラリを使う [Host API]

CUDA Toolkit 3.2から,CURANDという疑似乱数ジェネレータライブラリが導入されました.GPUによる乱数の生成を行えるライブラリです.CURANDは,2つのAPIカテゴリから構成されています. Host API ホストからの使用を目的としたAPI群.Device APIの上に構築…

GF100のキャッシュの性能

Motivation GTX480に代表されるGF100およびGTX460などのGF104にはL1, L2キャッシュが搭載され、メモリアクセスに関する制限が緩和されました。何も考えずに書くとGT200系では性能が出なかった場合でも、十分な性能が発揮されることがあります。そこで、定数…

CUDAでFunctorを使う 捕捉

CUDAでFunctorを使う - fjnlの生存記録のような何かに対する捕捉です。当初、CUDAはデバイスコードへのパラメータをshared memory経由で渡していました。しかし、Compute Capability 2.0*1からはconstant memory経由で渡されるように変更されています。share…

CUDAでFunctorを使う

CUDAの.cuファイルはC++として解釈されるので、templateといった記法やfunctorといったデザインをデバイスコード上でも使うことができます。nvcc 3.0で動作を確認しました。もう2.xの環境が手元になかったので、2.xで使えるかはわかりません。 struct add { …