中文

TURNIP:一种带CPU内存卸载的“非确定性”GPU运行时

分布式、并行与集群计算 2024-10-04 v3

摘要

缓解GPU基础AI计算中内存困难的显而易见方法是通过CPU卸载,即在GPU和CPU内存之间传输数据,以便利用廉价的CPU内存来增加可用存储量。尽管CPU卸载是一种显而易见的想法,但由于CPU内存与GPU内存之间的传输速度相对较慢,可能显著降低计算速度。因此,任何采用CPU卸载的系统都需要确保发生此类传输时,计算不会因等待传输完成而被阻塞。使用CPU卸载的一个关键挑战是内存传输引入了系统的非确定性:在运行时,无法提前知道传输何时完成,从而无法确定最佳的操作顺序以确保不会发生阻塞。本文描述了TURNIP,这是一个用于进行AI计算的系统,采用CPU卸载。TURNIP的关键创新在于将AI计算编译成一个依赖图,为TURNIP运行时提供了以多种不同顺序运行操作(如GPU内核调用)的自由度;在运行时,TURNIP根据实际事件选择最佳操作顺序。

关键词

引用

@article{arxiv.2405.16283,
  title  = {TURNIP: A "Nondeterministic" GPU Runtime with CPU RAM Offload},
  author = {Zhimin Ding and Jiawen Yao and Brianna Barrow and Tania Lorido Botran and Christopher Jermaine and Yuxin Tang and Jiehui Li and Xinyu Yao and Sleem Mahmoud Abdelghafar and Daniel Bourgeois},
  journal= {arXiv preprint arXiv:2405.16283},
  year   = {2024}
}