python – PyCuda中的cudaBindTextureToArray

有没有办法使用PyCuda将已经在gpu上的数组绑定到纹理?

已经有一个cuda.bind_array_to_texref(cuda.make_multichannel_2d_array(…),texref)将CPU上的数组绑定到纹理,但是如果数组已经在设备上,我在PyCuda中找不到cudaBindTextureToArray的等价物.例如,做:

myArray = [1, 2, 3]
myArray_d = gpu.to_gpu(myArray)  # then performs some computations on  it, and then
cuda.bind_texture_to_array(myArray_d, texref)

解决方法:

如果要将GPU内存中的现有CUDA数组绑定到纹理引用,那么pycuda.driver.TextureReference.set_array()可能就是您想要的.请注意,PyCUDA是基于驱动程序API构建的,因此您正在寻找的调用实际上是cuTexRefSetArray而不是cudaBindTextureToArray.

上一篇:python – 使用PyCuda的遗传细胞自动机,如何有效地将每个细胞的大量数据传递给CUDA内核?


下一篇:python – Pycuda Blocks和Grids可以处理大数据