数据科学

借助 NVDashboard v0.10 实现近乎实时的使用情况统计,从而充分释放 GPU 性能

在 NVIDIA GTC 2024 上,RAPIDS 团队展示了 NVDashboard v0.10 的新功能,该面板在 JupyterLab 上运行,用于监控 GPU 使用情况,以帮助最大限度地提高 GPU 资源的效率。

我们很高兴地宣布NVDashboard v0.10现在可供使用。

此更新引入了一系列改进,包括通过 WebSocket 进行数据流传输以增强性能、时间序列图表刷写和同步工具提示以提高易用性。这些升级共同改变了用户体验,为在 JupyterLab 中使用 GPU 密集型应用程序的开发者和研究人员提供了一个更加响应、直观且视觉上更加协调的工具。

GIF of the GPU dashboards and dask-labextension dashboards, highlighting the extension's functionality and layout.
图 1.NVDashboard JupyterLab 扩展程序的实际应用

图 1 显示右侧的 GPU 控制面板,而左下角显示两个 dask-labextension 控制面板。

NVDashboard 是一个重要的 JupyterLab 扩展程序,专为显示 GPU 使用情况控制面板而定制。它支持各种指标,包括以下内容:

  • GPU 计算利用率
  • GPU 显存消耗
  • PCIe 吞吐量
  • NVLink 吞吐量

该扩展程序以前仅与 JupyterLab 的 3.0 及更低版本兼容。随着 JupyterLab 4.x 的发布,我们更新了 NVDashboard 到版本 0.10,以确保与最新版本的 JupyterLab 兼容。

NVDashboard 的适用对象是谁

对于需要在 JupyterLab 环境中实时监控和分析 GPU 资源的各种专业人士而言,NVDashboard 是一个必不可少的工具,因为它提供了实时监控和分析 GPU 资源的功能。最近的更新使其对多个角色特别有益。

数据科学家和 AI 研究人员

对于正在开发和训练机器学习模型的用户,NVDashboard 可提供有关 GPU 利用率、内存和计算指标的即时见解,从而实现高效的资源管理,并有助于在模型训练期间识别瓶颈。

开发者和工程师

无论您是在处理高性能计算(HPC)任务、3D 渲染还是复杂的模拟,NVDashboard 都能让您清楚地了解代码如何使用 GPU 资源,从而在优化代码以提高性能时做出更明智的决策。

教育工作者和学生

在学术环境中,理解硬件利用率是学习过程的一部分,NVDashboard 是教授并行计算和 GPU 加速应用程序相关概念的实用工具。

DevOps 和系统管理员

对于管理 JupyterLab 环境的用户,NVDashboard 提供了一种监控方法,可确保 GPU 资源在不同用户和工作负载中得到有效利用。

NVDashboard v0.10 中有什么新功能?

NVDashboard v0.10 现已针对 JupyterLab v4 及更高版本进行更新,除了单纯的兼容性修复之外,还提供架构改进和性能升级:

  • 使用 WebSocket 增强性能
  • 以用户为中心的监控和可用性增强功能
  • UX 改进可提供有凝聚力的体验

使用 WebSockets 增强性能

NVDashboard v0.10 中最显著的改进是从 REST API 过渡到 WebSockets 以进行数据通信。这一关键升级旨在满足实时监控的高要求,数据点每 50-100 毫秒更新一次。

WebSocket 提供的持久连接可显著降低为每个数据请求建立新连接的开销,从而提高资源利用率,并在包括功能受限设备在内的设备之间提供无缝体验。

以用户为中心的监控和可用性增强功能

NVDashboard v0.10 引入了播放/暂停功能和用于时间序列图表的定位栏,使您能够精确控制数据监控体验,这些功能增强了与数据交互的能力,提供了更直观、更用户友好的界面。

UX 改进提供了有凝聚力的体验

最新版本的 NVDashboard 对用户体验进行了重大改进,包括主题支持,可确保扩展程序的外观适应 JupyterLab 的亮或暗模式。

跨多个控制面板组件的同步工具提示可提供统一的数据视图,从而增强您分析和理解不同 GPU 利用率指标之间复杂关系的能力。

主题兼容性

NVDashboard 与 JupyterLab 主题的无缝集成对于 UI 的一致性、可访问性和舒适性非常重要,这直接影响用户体验。

Screenshot shows the dashboard with a white background.
图 2.使用 JupyterLab 光照主题的 NVDashboard
Screenshot of the dashboard with a dark background.
图 3.使用 JupyterLab 黑暗主题的 NVDashboard

时间序列图表的画笔功能

NVDashboard 中引入的新刷选功能使您能够以交互方式选择和检查 GPU 资源时间序列图表上的特定时间范围,该功能增强了在特定代码执行期间分析 GPU 性能和识别潜在瓶颈的能力。

GIF shows the ability to pause and inspect data across specific time ranges.
图 4.NVDashboard GPU 资源控制面板

同步工具提示

NVDashboard 现在具有跨多个时间序列图表的同步工具提示,使您能够通过将鼠标悬停在任何单个数据点上,同时查看所有图表上的相应数据点,这样可最大限度地减少鼠标大规模移动的需求,简化跨不同图表的统计数据分析。

例如,将鼠标悬停在 GPU 利用率图表中的时间上,同时在同一时间下显示 GPU 显存和 PCI 吞吐量图表的工具提示。

GIF shows tooltips for multiple attributes at a single timestamp when one attribute is hovered over.
图 5.同步工具提示

安装

要体验各种改进和新功能,请使用以下命令使用 PyPI 和 Conda 安装 NVDashboard v0.10:

# PYPI

pip install jupyterlab_NVDashboard
# CONDA

conda install -c rapidsai -c conda-forge jupyterlab-NVDashboard

结论

NVDashboard v0.10 的发布是我们为 JupyterLab 用户提供最佳工具的过程中的一个重要里程碑。随着性能的增强、易用性的提升和一系列新功能的推出,我们很高兴看到我们的社区如何使用这些更新来推动 JupyterLab 和 NVDashboard 的可能性边界。

如果您希望参与或深入探讨 NVDashboard 的开发,请访问 /rapidsai/juyterlab-NVDashboard GitHub 库,获取更新后的 开发者指南 和资源,我们鼓励社区探索、贡献并提供反馈,以帮助继续改进 NVDashboard。

有关应用程序 profiling 和性能优化的更多信息,请参阅NVIDIA Nsight Systems

 

Tags