【发布时间】:2012-06-22 05:33:01
【问题描述】:
我有一个推力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
【讨论】: