【问题标题】:What is the maximum size of the texture memory on a modern GPU?现代 GPU 上纹理内存的最大大小是多少?
【发布时间】:2012-02-14 06:08:22
【问题描述】:

我们认为纹理内存是全局内存的一部分,这是真的吗?如果是这样,你可以分配多少? (间接地,有多少?)

所有多处理器都可以同时从纹理内存中读取是真的吗?

【问题讨论】:

    标签: memory cuda textures gpgpu nvidia


    【解决方案1】:

    纹理数据包含在CUDA数组中,CUDA数组在全局内存之外分配;因此,无论多少全局内存仍然可用(您可以调用 cuMemGetInfo() 来查看剩余多少可用内存)都可以作为纹理分配。

    不可能知道给定 CUDA 数组消耗了多少内存 - 显然它必须至少为 Width*Height*Depth*sizeof(Texel),但它可能需要更多,因为驱动程序必须进行分配符合硬件的对齐要求。

    【讨论】:

      【解决方案2】:

      可以在NVIDIA CUDA website 上的 CUDA 编程指南中找到不同计算能力的纹理限制。

      对于给定的设备,可以使用cudaGetDeviceProperties 函数查询设备功能,包括纹理限制。

      分配取决于可用全局内存的数量和内存的分段,因此没有简单的方法来判断给定的分配是否会成功,尤其是在处理大型纹理时。

      【讨论】:

        猜你喜欢
        • 2019-02-17
        • 2019-05-12
        • 1970-01-01
        • 1970-01-01
        • 2011-10-12
        • 2011-01-31
        • 1970-01-01
        • 1970-01-01
        • 2020-07-24
        相关资源
        最近更新 更多