【问题标题】:Why does texture binding require non-const device pointers?为什么纹理绑定需要非常量设备指针?
【发布时间】:2022-01-18 23:09:54
【问题描述】:

我正在使用cudaTextureObject_t 做一些线性插值。为了将查找数据数组绑定到纹理对象,我必须提供void *devPtr,如driver_types.h 中定义的那样。我很好奇为什么那不是const void *devPtr?由于此数据用于查找值,我不希望 CUDA 修改它。我当然可以通过创建演员来完成工作,只是好奇。

【问题讨论】:

  • 你用的是什么功能?你能显示一个sn-p吗?

标签: c++ cuda textures


【解决方案1】:

传递给cudaCreateTextureObject() 的通用cudaResourceDesc 确实需要一个

void * devPtr

不过,surface objects 也使用相同的通用资源描述符。所以它不能是 const 用于该用法。 Surface 是可写的(来自 CUDA 内核代码)资源。

【讨论】:

    猜你喜欢
    • 2018-01-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多