Package: gpuview
gpuviewGPU is an expensive resource, and deep learning practitioners have to monitor the
health and usage of their GPUs, such as the temperature, memory, utilization, and the users.
This can be done with tools likenvidia-smiandgpustatfrom the terminal or command-line.
Often times, however, it is not convenient tosshinto servers to just check the GPU status.gpuviewis meant to mitigate this by running a lightweight web dashboard on top ofgpustat.Withgpuviewone can monitor GPUs on the go, though a web browser. Moreover,multiple GPU serverscan be registered into onegpuviewdashboard and all stats are aggregated and accessible from one place.Thumbnail view of GPUs across multiple servers.SetupPython is required,gpuviewhas been tested with both 2.7 and 3 versions.Install fromPyPI:$ pip install gpuview[or] Install directly from repo:$ pip install git+https://github.com/fgaim/gpuview.git@mastergpuviewinstalls the latest version ofgpustatfrompypi, therefore, its commands are available
from the terminal.Usagegpuviewcan be used in two modes as a temporary process or as a background service.Run gpuviewOncegpuviewis installed, it can be started as follows:$ gpuview run --safe-zoneThis will start the dasboard athttp://0.0.0.0:9988.By default,gpuviewruns at0.0.0.0and port9988, but these can be changed using--hostand--port. Thesafe-zoneoption means report all detials including usernames, but it can be turned off for security reasons.Run as a ServiceTo permanently rungpuviewit needs to be deployed as a background service.
This will require asudoprivilege authentication.
The following command needs to be executed only once:$ gpuview service [--safe-zone] [--exlude-self]If successful, thegpuviewservice is run immediately and will also autostart at boot time. It can be controlled usingsupervisorctl start|stop|restart gpuview.Runtime optionsThere a few important options ingpuview, use-hto see them all.$ gpuview -hrun: Startgpuviewdashboard server--host: URL or IP address of host (default: 0.0.0.0)--port: Port number to listen to (default: 9988)--safe-zone: Safe to report all details, eg. usernames--exclude-self: Don't report to others but to self-dashboard-d,--debug: Run server in debug mode (for developers)add: Add a GPU host to dashboard--url: URL of host [IP:Port], eg. X.X.X.X:9988--name: Optional readable name for the host, eg. Node101remove: Remove a registered host from dashboard--url: URL of host to remove, eg. X.X.X.X:9988hosts: Print out all registered hostsservice: Installgpuviewas system service--host: URL or IP address of host (default: 0.0.0.0)--port: Port number to listen to (default: 9988)--safe-zone: Safe to report all details, eg. usernames--exclude-self: Don't report to others but to self-dashboard-v,--version: Print versions ofgpuviewandgpustat-h,--help: Print help for command-line optionsMonitoring multiple hostsTo aggregate the stats of multiple machines, they can be registered to one dashboard using their address and the port number runninggpustat.Register a host to monitor as follows:$ gpuview add --url <ip:port> --name <name>Remove a registered host as follows:$ gpuview remove --url <ip:port> --name <name>Display all registered hosts as follows:$ gpuview hostsNote: thegpuviewservice needs to run in all hosts that will be monitored.Tip:gpuviewcan be setup on a none GPU machine, such as laptops, to monitor remote GPU servers.etcHelpful tips related to the underlying performance are available at thegpustatrepo.For the sake of simplicity,gpuviewdoes not have a user authentication in place. As a security measure,
it does not report sensitive details such as user names by default. This can be changed if the service is
running in a trusted network, using the--safe-zoneoption to report all details.The--exclude-selfoption of the run command can be used to prevent other dashboards from getting stats of the current machine. This way the stats are shown only on the host's own dashboard.Detailed view of GPUs across multiple servers.LicenseMIT License