opencl - 带有 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。
解决方案
推荐阅读
- c++ - 当代码在共享库中时,静态变量是否会重新初始化?
- reactjs - 带有 Socket io 的 Redux 中间件
- ios - 尝试从 json 数据加载图像 url 时索引超出范围
- groovy - methodMissing 的 Groovy 缓存不起作用
- node.js - npx create-react-app 返回“超出最大调用堆栈大小”
- latex - 如何在 p5.js 中显示漂亮的数学方程式?
- kubernetes-helm - 是否有任何选项告诉 helm 不要等到安装后挂钩完成?
- sql - 执行存储在表列中的 SQL 语句
- python - 存储 flask-jwt 身份验证令牌。我可以/我应该存储在数据库中吗?
- python - 当我尝试运行代码时,它会出错