怎么投推力:: device_vector 原始指针(how to cast thrust::

2019-06-25 14:25发布

我有一个推力device_vector 。 我想将它转换为原始指针,这样我可以把它传递给内核。 我该怎么办呢?

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

Answer 1:

为此,您可以使用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



文章来源: how to cast thrust::device_vector to raw pointer
标签: cuda gpu thrust