4

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

已经有一个将 CPU 上的数组绑定到纹理,但如果该数组已经在设备上cuda.bind_array_to_texref(cuda.make_multichannel_2d_array(...), texref),我在 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)
4

1 回答 1

3

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

于 2012-11-19T22:12:06.257 回答