有没有办法使用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.