如何在 AMD GPU 和 rocm 中使用 cl2.hpp

How to use cl2.hpp with AMD GPU and rocm

我在笔记本电脑上使用 OpenCL 进行开发已经有一段时间了,但我想转移到配备 AMD GPU 的功能更强大的台式电脑上。我通过 APP SDK(显然已经消失)通过 amdgpu-pro 驱动程序(它完全崩溃了我的系统)跟踪面包屑,然后登陆了 rocm。我无法在我的内核上安装驱动程序,但 rocm-dev 似乎工作正常。不幸的是,我似乎无法再使用 Khronos 的 cl2.hpp,因为它似乎无法对任何 cl 调用进行 link。我希望仍然能够在我的笔记本电脑上使用英特尔 CPU 而无需完全重写我的代码。是否可以轻松地将 cl2.hpp 集成到我的 rocm 安装中?

找到了。我没有正确链接到 libOpenCL.so。我正在使用 cmake 并将 OpenCL_LIBRARY 设置为 amdgpu-pro lib 目录而不是实际的库文件。显然 FIND (OpenCL) 不适用于 rocm 和 amdgpu 提供的 /opt 路径。