摘要
深度学习应用程序通常被认为在训练小批量步之间具有规律的内存分配模式。这种规律性在许多情况下是正确的,但由于未知的张量大小以及各种并行执行模式下不确定的执行顺序等因素,内存分配请求在运行时可能会变得动态和不规律。在这些因素作用下,一些基于内存分配的规律性所进行的优化在运行时存在许多不匹配的情况。为了解决这个问题,本文提出了一个动态性感知的深度学习内存分配器。这个分配器在运行时收集内存分配信息并生成内存分配计划,然后通过模拟分配的方式动态调整生成的内存分配计划。实验结果表明,与 TensorFlow 相比,本文所设计的分配器平均可以达到 1.24的加速比,并减少56.34%的CPU 内存使用量以及 21.13% 的 GPU 显存使用量。
- 单位