详细内容或原文请订阅后点击阅览
优化 AI/ML 工作负载中的数据传输
借助 NVIDIA Nsight™ 系统,深入探讨数据传输瓶颈、识别瓶颈和解决方案优化 AI/ML 工作负载中的数据传输一文首先出现在 Towards Data Science 上。
来源:走向数据科学a ,深度学习模型使用从 CPU 主机接收的输入数据批在专用 GPU 加速器上执行。理想情况下,GPU(更昂贵的资源)应该得到最大程度的利用,并且空闲时间最短。特别是,这意味着每次它完成一个批次的执行时,后续批次将“成熟并准备好”进行处理。如果没有发生这种情况,GPU 将在等待输入数据时空闲——这是一个常见的性能瓶颈,通常称为 GPU 饥饿。
在之前的文章中(例如,请参阅识别数据输入管道瓶颈的缓存策略),我们讨论了此问题的常见原因,包括:存储检索效率低下、CPU 资源耗尽以及主机到设备传输瓶颈。在这篇文章中,我们将重点关注数据传输瓶颈,并重新审视其识别和解决方案 — 这次是在 NVIDIA Nsight™ 系统 (nsys) 的帮助下,这是一款性能分析器,旨在分析在 NVIDIA GPU 上运行的工作负载的系统范围活动。
NVIDIA Nsight 与 PyTorch Profiler
熟悉我们工作的读者可能会对提到 NVIDIA Nsight Profiler 而不是 PyTorch Profiler 感到惊讶。在我们之前的文章中,我们强烈主张在 AI/ML 模型开发中使用 PyTorch Profiler 作为识别和优化运行时性能的工具。我们一次又一次地展示了它在各种性能问题上的应用。它的使用不需要任何特殊安装,并且无需特殊操作系统权限即可运行。另一方面,NVIDIA Nsight 分析器需要专用的系统设置(或专用的 NVIDIA 容器),并且对于其某些功能而言,需要提升权限,这使得其使用比 PyTorch Profiler 更难访问且更复杂。
在这篇文章中,我们打算演示 nsys profiler 的一些独特功能及其在常见数据传输瓶颈中的应用。
大纲
设置
pip 安装 nvtx
