19
私は推力device_vector
を持っています。私はそれを未処理のポインタにキャストして、カーネルに渡すことができます。どうすればいいですか?推力をキャストする方法:: device_vector <int>生のポインタ
thrust::device_vector<int> dv(10);
//CAST TO RAW
kernel<<<bl,tpb>>>(pass raw)
私は推力device_vector
を持っています。私はそれを未処理のポインタにキャストして、カーネルに渡すことができます。どうすればいいですか?推力をキャストする方法:: device_vector <int>生のポインタ
thrust::device_vector<int> dv(10);
//CAST TO RAW
kernel<<<bl,tpb>>>(pass raw)
これはthrust::raw_pointer_cast
を使用して行うことができます。
thrust::device_vector<int> dv(10);
int * dv_ptr = thrust::raw_pointer_cast(dv.data());
kernel<<<bl,tpb>>>(dv_ptr)
(免責事項:ブラウザで書かれ、コンパイルされたことがない、テストされたことがないデバイスベクトルクラスをキャストすることができ、ベクターが保有するメモリにthrust::device_ptr
を返しますメンバ関数data
、このような何かを持っています)。推力に含まれるこの完全な実例があります:unwrap_pointer.cu
データを元に戻す必要がありますか? dv_ptrにはdvの変更されたデータがあるので、dvにコピーするにはどうしたらいいですか? – RaenirSalazar