我有一个推力device_vector
。 我想将它转换为原始指针,这样我可以把它传递给内核。 我该怎么办呢?
thrust::device_vector<int> dv(10);
//CAST TO RAW
kernel<<<bl,tpb>>>(pass raw)
我有一个推力device_vector
。 我想将它转换为原始指针,这样我可以把它传递给内核。 我该怎么办呢?
thrust::device_vector<int> dv(10);
//CAST TO RAW
kernel<<<bl,tpb>>>(pass raw)
为此,您可以使用thrust::raw_pointer_cast
。 该设备向量类有一个成员函数data
,这将返回一个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