【发布时间】:2012-10-03 01:47:20
【问题描述】:
在使用 16 位浮点 纹理类型时,我可以利用 CUDA 纹理过滤吗?我已经在 CUDA 3D Array 中使用 32-bit float 纹理进行了测试,并且过滤效果很好。 CUDA 不支持 unsigned short 纹理插值,这对我来说是完美的,因为它占用的内存空间更少。
我正在考虑这个解决方案 - 如果我错了,请纠正我:
- 将我的 unsigned short 数据转换为 [0;1] 范围内的 16 位浮点数; (怎么做?)
- malloc 3D 数组宽度
cudaCreateChannelDescHalf()通道描述符 - 将 unsigned short 数据的纹理绑定到该数组
- 发送到GPU内存,放入3D数组;
- 在内核中 - 使用
tex3D()函数获取值
请参阅下面的答案...
【问题讨论】:
标签: cuda filtering textures precision