如何cudaMemcpy主机值指向一个设备阵列的指针数组Cuda
问题描述:
我想找到一种方法,如果可能的话,复制指向一个指向主机数组的指针pts
指向一些另一个主机阵列的元素s
(float2
类型)。需要从pts
和->
运算符中取消的值在s
阵列中处于随机位置。如何cudaMemcpy主机值指向一个设备阵列的指针数组Cuda
有没有办法复制pts
指向的这些值,而无需使用中间主机缓冲区在使用cudaMemcpy
之前写入其中的值? 我只想出了一个循环复制一个元素,但不是多余的? 我用cuda 5.5 谢谢。
答
如果要复制的值位于随机位置,并且只想将这些值复制到设备,则需要在主机代码中编写一个单独的循环,将这些值首先汇总到一个连续的缓冲区中。
然后,您可以使用像cudaMemcpy
这样的普通方法复制该缓冲区。