24

私は推力を持っていdevice_vectorます。カーネルに渡すことができるように、生のポインターにキャストしたいと思います。どうすればそうできますか?

thrust::device_vector<int> dv(10);
//CAST TO RAW
kernel<<<bl,tpb>>>(pass raw)
4

1 に答える 1

29

を使用してこれを行うことができますthrust::raw_pointer_cast。デバイス ベクター クラスには、次のようなキャスト可能なベクターが保持するメモリにdataa を返すメンバー関数があります。thrust::device_ptr

thrust::device_vector<int> dv(10);

int * dv_ptr = thrust::raw_pointer_cast(dv.data());

kernel<<<bl,tpb>>>(dv_ptr)

(免責事項: ブラウザーで記述され、コンパイルもテストもされていません)。スラストに含まれるこれの完全な動作例があります: unwrap_pointer.cu

于 2012-06-20T05:56:34.843 に答える