HIP (Heterogeneous-Compute Interface for Portability) 是 AMD 开发的一款异构计算的接口工具。
HIP 允许只用写一套代码(hip代码), 就可以将程序同时在 NVIDIA GPU 和 AMD GPU 及 DCU 上编译运行。
HIP is a C++ Runtime API and Kernel Language that allows developers to create portable applications for AMD and NVIDIA GPUs from single source code.
HIP 的 API 和 CUDA 的API十分类似,例如 CUDA 中内存拷贝用cuMemory
, 在 hip 中用hipMemcpy
,且参数也十分一致。
因此,会 CUDA 的开发者可以很轻松地转移到 hip 上。
并且,hip 还提供了hipfy 工具,将 CUDA 代码转换为 hip 代码。
HIP 在不降低性能的前提下,统一了CUDA API 和AMD GPU 编程API,可谓极大地降低了各个平台的适配与移植工作,
做到了一套代码,在多个异构平台上运行。
可以说, "舍弃 CUDA,进入HIP时代"。
那么,在 NV GPU下,如何安装并使用 hip 呢?