该问题来自社区帖: https://bbs.csdn.net/topics/617407089.为符合问答规范, 该问题经过ChatGPT优化
<html><head><meta /><title>CUDA的纹理内存的大小限制该如何理解?</title></head><body>
<html><head><meta /><title>CUDA的纹理内存的大小限制该如何理解?</title></head><body>
我原本理解的Texture Memory是Global Memory的一部分,就像Constant Memory一样,是一块具有固定大小(例如Constant memory就是64K)的Memory。但是似乎我的理解有问题。
首先是我的实验,我使用Texture Memory的方法是先声明纹理对象,之后开辟了cudaArray,再将cudaArray通过cudaBindTextureToArray()绑定到纹理对象上。我发现无论我的cudaArray有多大,只要不超过GPU的整体显存,绑定都是成功的。
其次根据CUDA C++ Programming Guide的计算能力表,其中有关Texture Memory的部分给出的限制是:

是否可以理解成,绑定到2D TextureMemory的cudaArray,只要数组的长和宽不超过131072和65536个元素,绑定都能成功?
</body></html>