在推力矢量类型上创建常规 CUDA 内核
我有一个简单的问题,例如,如果我想使用我在推力矢量上编写的 cuda 内核,我必须将我的 device_vector 转换为常规指针类型吗?或者还有其他方法吗?
哦,还有一件事,关于 device_vector 构造器, 如果我在 GPU 上分配了一个指针,是否有一个快速的 device_vector 接受该指针,或者我应该先将所有内容传输到 CPU,然后才使用适当的参数(CPU 分配的变量)声明我的 device_vector ?
谢谢,伊格尔!
i've a simple question , if for example i would like to use a cuda kernel i wrote on a thrust vector , must i cast my device_vector into a regular pointer type? or is there another way?
oh and another thing , regarding the device_vector constructur ,
if i have a pointer allocated on the GPU , is there a quick device_vector that accepts that pointer or am i supposed to tranfer everything first to the CPU and only then declare my device_vector with the appropriate arguments(CPU allocated variables) ?
Thanks , igal !
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您有 2 个选择:
18-22)。 我还可以建议您仔细查看 zip_iterator 的
内核,那么将向量转换为
raw_pointer
会更简单 (手册 第 11 页)要使用标准算法,您可以将指针包装到类 device_ptr。然后您可以使用与 device_vector 相同的对象。
代码来自手册第12.
You have 2 options:
18-22). I can also advice to look close to
zip_iterator
'skernel, then it will be more simple to cast vector to
raw_pointer
(manual p. 11)To use standart algorithms you can wrap pointer to class device_ptr. Then you can use object same as device_vector.
Code from manual p. 12.