如何解释deviceQuery样本输出的纹理内存信息以了解纹理内存大小?这是我的纹理记忆的输出.
最大纹理尺寸大小(x,y,z)1D =(65536),2D =(65536,65535),3D =(2048,2048,2048)
最大分层纹理尺寸(暗淡)x层1D =(16384)x 2048 ,2D =(16384,16384)×2048
这是一种常见的误解,但在CUDA GPU中没有"纹理记忆"这样的东西.只有纹理,这是通过专用硬件访问的全局内存分配,具有内置缓存,过滤和寻址限制,这会导致您在文档和设备查询中报告的大小限制.因此,限制大致是全局内存的自由数量(允许在CUDA数组中进行填充和对齐)或者已经引用的维度限制.
输出显示最大纹理尺寸为:
对于 1D 纹理 65536 对于 2D 纹理 65536*65535 对于 3D 纹理 2048*2048*2048
如果您需要以字节为单位的大小,请将其乘以最大通道数 (4) 和最大子像素大小 (4B)。
(对于分层纹理,将获得的尺寸相关数字乘以获得的最大层数。)
但是,这是单个纹理的最大大小,而不是所有纹理的可用内存。