大家好,很高兴又见面了,我是"高级前端进阶",由我带着大家一起关注前端前沿、深入前端底层技术,大家一起进步,也欢迎大家关注、点赞、收藏、转发,您的支持是我不断创作的动力。
今天给大家带来的主题是 gpuview,即开发者可以通过网络浏览器随时随地监控 GPU的工具。话不多说,直接进入正题!
什么是 gpuview
GPU 是一种昂贵的资源,深度学习从业者必须监控 GPU 的健康状况和使用情况,例如:温度、内存、利用率和用户。 虽然开发者可以通过终端或命令行使用 nvidia-smi 和 gpustat 等工具来完成。 然而,很多时候,通过 ssh 进入服务器来检查 GPU 状态并不方便。 gpuview 旨在通过在 gpustat 之上运行轻量级 Web 仪表板来缓解这一问题。
借助 gpuview,开发者可以通过网络浏览器随时随地监控 GPU。 此外,多个 GPU 服务器可以注册到一个 gpuview 仪表板中,并且所有统计数据都可以从一个位置聚合和访问。
比如下面是跨多个服务器的 GPU 的缩略图视图。
如何使用 gpuview
安装 gpuview
gpuview 需要 Python 环境,gpuview 已经过 2.7 和 3 版本测试。
$ pip install gpuview
或直接从存储库安装:
$ pip install git+https://github.com/fgaim/gpuview.git@master
gpuview 从 pypi 安装最新版本的 gpustat,因此,可以从终端使用其命令。
使用 gpuview
gpuview 可以以两种模式用作临时进程或后台服务。安装 gpuview 后,可以按如下方式启动:
$ gpuview run --safe-zone
这将在 http://0.0.0.0:9988 启动仪表板。
默认情况下,gpuview 在 0.0.0.0 和端口 9988 运行,但可以使用 --host 和 --port 更改这些。 safe-zone 选项意味着报告包括用户名在内的所有详细信息,但出于安全原因可以将其关闭。
gpuview 也可以部署为后台服务,从而永久运行 gpuview。然而,这需要 sudo 权限身份验证。以下命令只需执行一次:
$ gpuview service [--safe-zone] [--exlude-self]
如果成功,gpuview 服务将立即运行,并且也会在启动时自动启动。可以使用 supervisorctl start|stop|restart gpuview 进行控制。
gpuview 高级配置
gpuview 中有几个重要的选项,使用-h 可以查看全部。
$ gpuview -h
run : 启动 gpuview 仪表板服务器
- --host : 主机的 URL 或 IP 地址(默认值:0.0.0.0)
- --port :要监听的端口号(默认:9988)
- --safe-zone :安全地报告所有详细信息,例如。 用户名
- --exclude-self : 不向其他人报告,而是向自我仪表板报告
- -d, --debug :以调试模式运行服务器(针对开发人员)
add : 将 GPU 主机添加到仪表板
- --url : 主机的 URL [IP:端口],例如。 X.X.X.X:9988
- --name :主机的可选可读名称,例如。 节点 101
remove:从仪表板中删除已注册的主机
- --url : 要删除的主机的 URL,例如。 X.X.X.X:9988
- ports : 打印出所有注册的主机
- service : 安装 gpuview 作为系统服务
- --host : 主机的 URL 或 IP 地址(默认值:0.0.0.0)
- --port :要监听的端口号(默认:9988)
- --safe-zone :安全地报告所有详细信息,例如。 用户名
- --exclude-self : 不向其他人报告,而是向自我仪表板报告
-v, --version :打印 gpuview 和 gpustat 的版本
-h, --help : 打印命令行选项的帮助
监控多台主机
要聚合多台计算机的统计信息,可以使用其地址和运行 gpustat 的端口号将它们注册到一个仪表板。 注册一个主机进行监控,如下:
$ gpuview add --url <ip:port> --name <name>
如下所示可以删除已注册的主机:
$ gpuview remove --url <ip:port> --name <name>
显示所有注册的主机如下:
$ gpuview hosts
注意:gpuview 服务需要在所有要监控的主机上运行。 提示:gpuview 可以在没有 GPU 的计算机(例如:笔记本电脑)上设置,以监控远程 GPU 服务器。
gpuview 安全模式
gpustat 存储库中提供了与基础性能相关的有用提示。
为了简单起见,gpuview 没有进行用户身份验证。 作为一项安全措施,它默认不报告用户名等敏感详细信息。 如果服务在受信任的网络中运行,则可以更改此设置,使用 --safe-zone 选项报告所有详细信息。
run 命令的 --exclude-self 选项可用于防止其他仪表板获取当前计算机的统计信息。 这样,统计数据仅显示在主机自己的仪表板上。
下面是跨多个服务器的 GPU 的详细视图。
本文总结
本文主要和大家介绍 gpuview,即开发者可以通过网络浏览器随时随地监控 GPU的工具。相信通过本文的阅读,大家对 gpuview 会有一个初步的了解。
因为篇幅有限,关于 gpuview 的更多用法和特性文章并没有过多展开,如果有兴趣,可以在我的主页继续阅读,同时文末的参考资料提供了大量优秀文档以供学习。最后,欢迎大家点赞、评论、转发、收藏,您的支持是我不断创作的动力。
参考资料
https://github.com/cornuwel/nvidia-smi
https://github.com/fgaim/gpuview