ROCm hip 相关
memory
managed memory : 使用 linux heterogeneous memory management (HMM), device 和 host 端可以以相同指针访问同一块内存
coherent memory : 可以在 kernel 运行时执行对 host 和其他 peer 可见的原子操作,通过不 cache 内存实现
non-coherent memory : device 端 cache 的内存,修改不实时可见
调度
direct dispatch : runtime 直接将操作发送至 AQL 队列
device side malloc
编译与链接
HIP 支持两种 static lib:
- 只包含 host 函数,可以使用 gcc 等非 hipcc 编译器链接
- 包含 device 函数,只能使用 hipcc 链接