纹理解除绑定的目的?

sga*_*zvi 3 textures cuda

解除绑定到线性内存或CUDA数组的CUDA纹理的目的是什么?

在我的许多CUDA程序中,我使用绑定线性内存的纹理cudaBindTexture2D.在函数结束时,我cudaUnbindTexture用来释放纹理.

有几次,我忘了解开纹理.但它对功能的性能和结果没有明显的影响.

是否真的有必要解开纹理?如果我不解除它会产生什么后果?它会导致内存泄漏吗?

Rog*_*ahl 9

每种体系结构都限制了可以同时绑定多少纹理.该编号列Maximum number of textures that can be bound to a kernel在"CUDA C编程指南"中.CC <3时为128,CC> = 3时为256.如果不解开纹理,程序将无法处理超过该数量的纹理.