Skip to main content

A web interface of gpustat --- consolidate status across multiple nodes.

Project description

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

gpustat-web-0.3.0.tar.gz (10.9 kB view details)

Uploaded Source

File details

Details for the file gpustat-web-0.3.0.tar.gz.

File metadata

  • Download URL: gpustat-web-0.3.0.tar.gz
  • Upload date:
  • Size: 10.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.8

File hashes

Hashes for gpustat-web-0.3.0.tar.gz
Algorithm Hash digest
SHA256 4f2eb3279c62b0930721d3bc9f1fbf4938650f2c7928cf2c919a429c13009729
MD5 dcc7c3c1f37f5b115281076d957270e5
BLAKE2b-256 b935f0377a8c6d7db02c742fed219b9524953c08b80a5c418e3d99842ed6033f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page