首页 > 解决方案 > 带有 OpenCL 1.2 的 NVIDIA Ampere 代 GPU 支持或不支持半精度浮点

问题描述

我在 OpenCL 中使用 float4 元素实现了一个带有 read_imagef 和 write_imagef 操作的内核,它工作正常。

然后我尝试使用半精度浮点元素来实现。在这种情况下,我收到一个构建错误,指示“ptxas fatal: Cannot take address of function read_imageh”或访问 halfn 变量时的其他类似错误消息。

在使用 CL_DEVICE_PREFERRED_VECTOR_WIDTH_HALF 参数检查 clGetDeviceInfo 时,得到 0 表示不支持。我认为情况不应该如此,因为 NVIDIA Ampere 架构支持半精度浮点运算。

使用的设备是带有 OpenCL 版本 1.2 的 NVIDIA GeForce RTX 3060 Ti。

标签: openclhalf-precision-floatptxas

解决方案


推荐阅读