AMD 相当于 CUDA 驱动程序 API?

Posted

技术标签:

【中文标题】AMD 相当于 CUDA 驱动程序 API?【英文标题】:AMD equivalent of the CUDA Driver API? 【发布时间】:2011-10-29 22:05:48 【问题描述】:

CUDA 具有运行时 API 和驱动程序 API。在 AMD 中相当于什么?如果我以某种方式修改 llvm 中的 IL,我可以获得更多控制权吗?

【问题讨论】:

你能再澄清一下这个问题吗?您似乎将主机端 API 与 GPU 代码混为一谈。与 ATI 上的 CUDA 驱动程序 API 等效的是 openCL API。它们都处于大致相同的级别,并且对 GPU 操作提供相同级别的控制和详细程度。但是你认为它们与用于编写 GPU 端代码的 IL 有什么关系? 谢谢你,清除它。我认为有不同级别的控制。我想知道是否可以修改 AMD IL,就像为 NVIDIA 修改 PTX 一样。我可以在 AMD IL 向 CAL 发送任何内容之前停止编译过程吗 【参考方案1】:

AMD 平台上的 CUDA 驱动 API 的模拟是 OpenCL。我知道目前在 AMD 平台上没有类似的 CUDA runtime API。

【讨论】:

【参考方案2】:

我相信与 NVIDIA CUDA 驱动程序 API 最接近的匹配是 AMD CAL,它与 AMD APP SDK 一起提供。 AMD CAL 不仅提供比 OpenCL 更底层的主机 API,还提供更底层的计算内核语言 AMD IL,它也是 OpenCL 编译成的中间语言。

【讨论】:

CAL 已弃用。多年没变,不支持GCN,从最新的APP SDK中删除。 devgurus.amd.com/thread/160049devgurus.amd.com/thread/158980 对。顺便说一句,虽然这可能有点太高级了,但现在有 AMD Mantle 可能值得一看。 Mantle 可能和 CAL 一样低级,并且得到很好的支持。但我会非常谨慎地使用它。它是专有的这一事实很糟糕,但更糟糕的是它与 GCN 架构相关联(只要 Xbox One 和 PS4 售出,未来 10 年以上的时间都会如此)。如果 AMD 的 PC 架构发生变化,Mantle 将出现故障或性能欠佳。总之,抽象层是好的。

以上是关于AMD 相当于 CUDA 驱动程序 API?的主要内容,如果未能解决你的问题,请参考以下文章

如何将 cuda 驱动程序 api 与 cuda 运行时 api 混合使用?

等效于 cudaSetDevice 的 CUDA 驱动程序 API

Cuda 中的运行时 VS 驱动程序 API

CUDA API 版本和驱动版本总是一样吗

深度学习部署笔记: CUDA 驱动API, 检查功能

使用 Nvidia 显卡安装 AMD OpenCL CPU 驱动程序