ROCm
https://blog.csdn.net/JackyTintin/article/details/74637157
ROCm是AMD的一个软件平台,用来加速GPU计算。
对标Nvidia的CUDA平台。他是用在AMD显卡上的。
框架如下图:
A卡上编程模型使用的是HIP或者OpenCL,而运行环境是ROCm
N卡上,编程模型是CUDA,运行环境也是CUDA。
ROCm与CUDA对比
HIP
HIP是一种编程模型,对标CUDA编程模型。
HIP 可以说是 CUDA API 的”山寨克隆“版。除了一些不常用的功能(e.g. managed memory)外,几乎全盘拷贝 CUDA API,是 CUDA 的一个子集。
HIP is a C++ runtime API 。我们使用C++语言,可以调用HIP的API来进行编程。
HIP可以运行在ROCm平台,也可以运行在CUDA平台。
所以他可以运行在A卡,但是也可以运行在N卡上(N卡主要还是CUDA) 。
HIP 的API和CUDA非常类似,大多数情况下他们代码稍加修改就可以直接转换。
CUDA转HIP
HIP提供了移植工具 “hipify”,可以帮助你将cuda源代码转换成HIP,与原始的CUDA应用程序相比没有开销。