HIP异构编程模型
1. 基本概念
HIP编程方法是在类GPU加速器DCU上运行高性能的并行计算。DCU加速卡上使用的编程模型为AMD公司开发的ROCm 编程模型。HIP编程模型是ROCm编程模型的一个扩展,它允许开发人员使用C/C++语言编写代码,并使用HIP库来调用ROCm库。
它是一种显式并行编程模型,和CUDA编程是类似的(就像它们都有核函数)。
文档:https://rocm.docs.amd.com/projects/HIP/en/docs-6.0.0/developer_guide/build.html
在CPU上运行的部分称为主机端(host),在DCU加速器上云霄的部分称为设备端(device)。主机端代码是CPU代码,代码在CPU上运行,入口函数是main。而设备端就是指加速器设备,代码对应在加速器上运行。代码采用扩展的C语法(HIP_C),设备端代码组织成核函数运行。
HIP使用Runtime API来在主机端分配设备显存,管理主机端和设备端的内存拷贝,运行设备端核函数等。
设备端代码由HIP_C构成并运行在DCU加速器上,被称为核函数(Kernel)。