【问题标题】:How to bind a 2D layered texture to pitched linear memory in CUDA如何将 2D 分层纹理绑定到 CUDA 中的倾斜线性内存
【发布时间】:2012-02-18 15:36:47
【问题描述】:

我有一个 CUDA 计算能力 2.0 显卡和 CUDA Toolkit 4.0,我想使用新的 tex2DLayered 纹理查找功能。但是,我的数组的大小(1280 x 960 x 200 层,无符号短)太大而无法分配这种大小的 cuda3DArray,所以我想将倾斜的线性内存绑定到纹理。但是,我在任何 CUDA 文档或 SDK 示例中都找不到有关如何执行此操作的任何描述,包括使用 cuda3DArray 而不是线性内存的简单分层纹理示例。我也在网上搜索过,没有成功。

谁能提供绑定纹理所需的代码,或者提供一些有关如何执行此操作的说明的链接?谢谢。

【问题讨论】:

  • 我不相信分层纹理适用于线性内存,只能适用于 cuda 数组。
  • 是在文档中的某个地方吗?
  • 好吧,文档只提到了 cudaArrays,而不是倾斜的线性内存。通常,如果没有明确列出线性内存,可以安全地假设它不受支持。硬件实现可能与 DX10 纹理数组相同,并且使用空间填充而不是线性内存 AFIAK 来实现。
  • 找到了。谢谢。 CUDA C Programming Guide v4.0 的第 3.2.10.1.5 节指出:“分层纹理只能绑定到通过使用 cudaArrayLayered 标志调用 cudaMalloc3DArray() 创建的 CUDA 数组(对于一维高度为零)分层纹理)。”

标签: cuda


【解决方案1】:

CUDA C 编程指南 v4.0 的第 3.2.10.1.5 节指出:

“分层纹理只能绑定到通过使用 cudaArrayLayered 标志调用 cudaMalloc3DArray() 创建的 CUDA 数组(一维分层纹理的高度为零)。”

【讨论】:

    猜你喜欢
    • 2020-03-13
    • 2019-12-15
    • 2011-07-26
    • 2011-02-08
    • 2021-12-23
    • 2011-10-16
    • 1970-01-01
    • 2016-09-02
    相关资源
    最近更新 更多