Skip to main content

gpustat-web

A web interface of gpustat --- aggregate gpustat across multiple nodes.

NOTE: This project is in alpha stage. Errors and exceptions are not well handled, and it might use much network resources. Please use at your own risk!

Installation

pip install gpustat-web

Python 3.6+ is required.

Usage

Launch the application as follows. A SSH connection will be established to each of the specified hosts. Make sure ssh <host> works under a proper authentication scheme such as SSH authentication.

gpustat-web --port 48109 HOST1 [... HOSTN]

You might get "Host key is not trusted for <host>" errors. You'll have to accept and trust SSH keys of the host for the first time (it's stored in ~/.ssh/known_hosts); try ssh <host> in the command line, or ssh -oStrictHostKeyChecking=accept-new <host> to automatically accept the host key. You can also use an option gpustat-web --no-verify-host to bypass SSH Host key validation (although not recommended).

Note that asyncssh does NOT obey the ~/.ssh/config file (e.g. alias, username, keyfile), so any config in ~/.ssh/config might not be picked up.

Endpoints

  • https://HOST:PORT/: A webpage that updates automatically through websocket.
  • https://HOST:PORT/gpustat.html: Result as a static HTML page.
  • https://HOST:PORT/gpustat.txt: Result as a static plain text.
  • https://HOST:PORT/gpustat.ansi: Result as a static text with ANSI color codes. Try curl https://.../gpustat.ansi

Query strings:

  • ?nodes=gpu001,gpu002: Select a subset of nodes to query and display

Running as a HTTP (SSL/TLS) server

By default the web server will run as a HTTP server. If you want to run a secure SSL/TLS server over the HTTPS protocol, use --ssl-certfile and --ssl-keyfile option. You can use letsencrypt (certbot) to create a pair of SSL certificate and keyfile.

Troubleshoothing: Verify SSL/TLS handshaking (if TLS connections cannot be established)

openssl s_client -showcerts -connect YOUR_HOST.com:PORT < /dev/null

More Examples

To see CPU usage as well:

python -m gpustat_web --exec 'gpustat --color --gpuname-width 25 && echo -en "CPU : \033[0;31m" && cpu-usage | ascii-bar 27'

License

MIT License

Copyright (c) 2018-2023 Jongwook Choi

Metadata

Release files for gpustat-web 0.3.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for gpustat-web 0.3.0
File Size Uploaded
gpustat-web-0.3.0.tar.gz 10.9 kB Details

Release files / gpustat-web-0.3.0.tar.gz

Download URL gpustat-web-0.3.0.tar.gz
Size 10.9 kB
Tags Source
SHA-256 checksum
How to use checksums
4f2eb3279c62b0930721d3bc9f1fbf4938650f2c7928cf2c919a429c13009729
BLAKE2b-256 checksum
How to use checksums
b935f0377a8c6d7db02c742fed219b9524953c08b80a5c418e3d99842ed6033f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.10.8

Release history Release notifications | RSS feed

This release

0.3.0 This release

1 release file

0.2.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page