在本文中,我们介绍了 HetGPU 的设计与原型实现。我们概述了 HetGPU 编译器如何将输入的 GPU 代码转换为可移植的中间表示(IR),同时处理特定厂商的细微差别(例如,将 CUDA 的 warp 同步操作转换为可移植的原语)。我们描述了运行时系统,该系统可在每种类型的 GPU 上加载并执行 IR,同时为内存管理、调度以及状态序列化/反序列化(用于检查点和迁移)提供服务。我们还介绍了抽象层,该层为 GPU 硬件功能提供了统一接口,例如,以某种方式对线程组、barrier 和内存访问进行抽象。
2 个赞