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

10-11 21:55