有没有办法使用 PyCuda 将已经在 gpu 上的数组绑定(bind)到纹理?
已经有一个 cuda.bind_array_to_texref(cuda.make_multichannel_2d_array(...), texref)
将 CPU 上的数组绑定(bind)到纹理,但是如果该数组已经在设备上,我在 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 数组绑定(bind)到纹理引用,那么 pycuda.driver.TextureReference.set_array()
可能就是您想要的。请注意,PyCUDA 是基于驱动程序 API 构建的,因此您要查找的调用实际上是 cuTexRefSetArray
而不是 cudaBindTextureToArray
。
关于python - PyCuda 中的 cudaBindTextureToArray,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13462407/