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