7

如何解释deviceQuery样本输出的纹理内存信息以了解纹理内存大小?这是我的纹理内存的输出。

Max Texture Dimension Size (x,y,z) 1D=(65536), 2D=(65536,65535),3D=(2048,2048,2048)
Max Layered Texture Size (dim) x layers 1D=(16384) x 2048 , 2D=(16384,16384) x 2048

4

2 回答 2

8

这是一个常见的误解,但在 CUDA GPU 中没有“纹理内存”之类的东西。只有纹理,它们是通过具有内置缓存、过滤和寻址限制的专用硬件访问的全局内存分配,这导致您在文档和设备查询中看到报告的大小限制。因此,限制大致是全局内存的可用量(允许在 CUDA 数组中进行填充和对齐)或您已经引用的尺寸限制。

于 2012-09-09T17:25:32.533 回答
3

输出显示最大纹理尺寸为:

对于 1D 纹理 65536 对于 2D 纹理 65536*65535 对于 3D 纹理 2048*2048*2048

如果您想要以字节为单位的大小,请将其乘以最大通道数 (4) 和最大子像素大小 (4B)。

(对于分层纹理,将获得的尺寸相关数字乘以获得的最大层数。)

但是,这是单个纹理的最大大小,而不是所有纹理的可用内存。

于 2012-09-09T16:11:19.867 回答