提升深度神经网络训练与推理效率的技术探索
1. 探索内存和存储资源
在基于 GPU 的深度神经网络(DNN)训练中,设备内存大小是一个重大限制。为了提升系统吞吐量,我们可以利用系统内的其他存储资源,如 CPU 内存和硬盘,来扩展 GPU 的训练内存。
1.1 系统存储规格与连接
以 NVIDIA DGX - 1 和 DGX - 2 等先进硬件为例,其存储规格如下:
|存储类型|容量|
| ---- | ---- |
|GPU 内存|约 40GB|
|CPU 内存(主内存)|约 100 - 200GB|
|磁盘存储|约数十 TB|
GPU 和磁盘通过 PCIe 总线与 CPU 相连,数据传输速度约为 10 - 15GB/s。由于 CPU 内存和磁盘存储远大于 GPU 内存,当 GPU 内存不足以存储中间结果时,可将数据转移到 CPU 内存或磁盘,需要时再预取回到 GPU 内存。
1.2 数据存储与加载操作
1.2.1 数据存储
为了在 GPU 上保存更多中间结果,可按以下步骤操作:
1. 调用 data.to(cpu) 将数据从 GPU 内存移动到 CPU 内存。
2. 同步此数据移动函数调用,等待其完成。
3. 若 CPU 内存不足,调用文件写入函数(如 write(data) )将数据从 CPU 内存写入磁盘存储。
4. 同步文件写入过程,等待其完成。
1.2.2 数据加载
将外部数据从磁盘/CP
超级会员免费看
订阅专栏 解锁全文
2842

被折叠的 条评论
为什么被折叠?



