CUDAのBuilt-inベクトル型†CUDAにはBuilt-inのベクトル型が多く定義されています. 元々GPUは3Dのコンピュータグラフィックスを扱うため, 4次元のベクトル型(3次元の同次座標やRGBの3色とアルファ値など)までが用意されています. ベクトル型の作成のために,make_型名 という関数が用意されていますので,例えば,float4型の変数を作りたいときは, float4 a = make_float4(1.0f, 2.0f, 3.0f, 4.0f); といったように定義します. ベクトル型の演算(CUDA 10.0)†(2018.10.24追記) デフォルトではfloat3やfloat4といったベクトル型は,データ格納には使用可能ですが演算子が定義されていません. ベクトル演算を行う時は"helper_math.h"をインクルードしてください. ("helper_math.h"内で"cuda_runtime.h"を読んでいるので"cuda_runtime.h"はインクルードしなくて良い) "helper_math.h"はCUDA Samplesが入ったディレクトリのどこかにあります. 変数の一覧†
dim3†上記の他に特別な型として,dim3 があります. dim3はグリッドやブロックなどのサイズ指定に用いられます. 基本的には uint3 ですが,指定されなかった要素が1で初期化されることが特徴です. dim3のコンストラクタは次のように定義されています(関数修飾子などは除いています). dim3(unsigned int x = 1, unsigned int y = 1, unsigned int z = 1) : x(x), y(y), z(z) {} dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} |