使用详细 GPU 模拟器分析机器学习工作负载
分布式、并行与集群计算
2019-01-29 v2
摘要
当今部署的大多数深度神经网络均通过 TensorFlow 和 PyTorch 等高层框架借助 GPU 进行训练。本文描述了我们对 GPGPU-Sim 模拟器所做的修改,使其能够通过运行 NVIDIA cuDNN 库中包含的 PTX 核函数来运行 PyTorch。我们使用由此得到的修改版模拟器(已随本文公开)来研究一些简单的深度学习工作负载。通过对 GPGPU-Sim 功能仿真模型的修改,我们发现 GPGPU-Sim 性能模型运行 MNIST 的 cuDNN 版 LeNet 时,结果与真实硬件相差在 30% 以内。利用 GPGPU-Sim 的 AerialVision 性能分析工具,我们观察到 cuDNN API 调用包含许多不同阶段的执行过程,并似乎存在潜在低效的微体系结构行为,例如 DRAM 分区存储体驻留(bank camping),至少在 GPGPU-Sim 当前性能模型上运行时如此。
引用
@article{arxiv.1811.08933,
title = {Analyzing Machine Learning Workloads Using a Detailed GPU Simulator},
author = {Jonathan Lew and Deval Shah and Suchita Pati and Shaylin Cattell and Mengchi Zhang and Amruth Sandhupatla and Christopher Ng and Negar Goli and Matthew D. Sinclair and Timothy G. Rogers and Tor Aamodt},
journal= {arXiv preprint arXiv:1811.08933},
year = {2019}
}
备注
Source code available at: https://github.com/gpgpu-sim/gpgpu-sim_distribution/tree/dev