`gpustat`
=========
[![pypi](https://img.shields.io/pypi/v/gpustat.svg?maxAge=86400)][pypi_gpustat]
[![Build Status](https://travis-ci.org/wookayin/gpustat.svg?branch=master)](https://travis-ci.org/wookayin/gpustat)
[![license](https://img.shields.io/github/license/wookayin/gpustat.svg?maxAge=86400)](LICENSE)
Just *less* than nvidia-smi?
![Screenshot: gpustat -cp](https://github.com/wookayin/gpustat/blob/master/screenshot.png)
NOTE: This works with NVIDIA Graphics Devices only, no AMD support as of now. Contributions are welcome!
Self-Promotion: A web interface of `gpustat` is available (in alpha)! Check out [gpustat-web][gpustat-web].
[gpustat-web]: https://github.com/wookayin/gpustat-web
Quick Installation
------------------
Install from [PyPI][pypi_gpustat]:
```
pip install gpustat
```
If you don't have root (sudo) privilege, please try installing `gpustat` on user namespace: `pip install --user gpustat`.
To install the latest version (master branch) via pip:
```
pip install git+https://github.com/wookayin/gpustat.git@master
```
### NVIDIA Driver Requirements
`gpustat` uses [NVIDIA's official python bindings for NVML library (pynvml)][pypi_pynvml]. As of now `gpustat` requires `nvidia-ml-py >= 11.450.129`, which is compatible with NVIDIA driver versions R450.00 or higher. Please upgrade the NVIDIA driver if `gpustat` fails to display process information. If your NVIDIA driver is too old, you can use older `gpustat` versions (`pip install gpustat<1.0`). See [#107][gh-issue-107] for more details.
### Python requirements
- gpustat<1.0: Compatible with python 2.7 and >=3.4
- gpustat 1.0: [Python >= 3.4][gh-issue-66]
- gpustat 1.1: Python >= 3.6
Usage
-----
`$ gpustat`
Options (Please see `gpustat --help` for more details):
* `--color` : Force colored output (even when stdout is not a tty)
* `--no-color` : Suppress colored output
* `-u`, `--show-user` : Display username of the process owner
* `-c`, `--show-cmd` : Display the process name
* `-f`, `--show-full-cmd` : Display full command and cpu stats of running process
* `-p`, `--show-pid` : Display PID of the process
* `-F`, `--show-fan` : Display GPU fan speed
* `-e`, `--show-codec` : Display encoder and/or decoder utilization
* `-P`, `--show-power` : Display GPU power usage and/or limit (`draw` or `draw,limit`)
* `-a`, `--show-all` : Display all gpu properties above
* `--id` : Target and query specific GPUs only with the specified indices (e.g. `--id 0,1,2`)
* `--no-processes` : Do not display process information (user, memory) ([#133][gh-issue-133])
* `--watch`, `-i`, `--interval` : Run in watch mode (equivalent to `watch gpustat`) if given. Denotes interval between updates.
* `--json` : JSON Output ([#10][gh-issue-10])
* `--print-completion (bash|zsh|tcsh)` : Print a shell completion script. See [#131][gh-issue-131] for usage.
### Tips
- Try `gpustat --debug` if something goes wrong.
- To periodically watch, try `gpustat --watch` or `gpustat -i` ([#41][gh-issue-41]).
- For older versions, one may use `watch --color -n1.0 gpustat --color`.
- Running `nvidia-smi daemon` (root privilege required) will make querying GPUs much **faster** and use less CPU ([#54][gh-issue-54]).
- The GPU ID (index) shown by `gpustat` (and `nvidia-smi`) is PCI BUS ID,
while CUDA uses a different ordering (assigns the fastest GPU with the lowest ID) by default.
Therefore, in order to ensure CUDA and `gpustat` use **same GPU index**,
configure the `CUDA_DEVICE_ORDER` environment variable to `PCI_BUS_ID`
(before setting `CUDA_VISIBLE_DEVICES` for your CUDA program):
`export CUDA_DEVICE_ORDER=PCI_BUS_ID`.
[pypi_gpustat]: https://pypi.org/project/gpustat/
[pypi_pynvml]: https://pypi.org/project/nvidia-ml-py/#history
[gh-issue-10]: https://github.com/wookayin/gpustat/issues/10
[gh-issue-41]: https://github.com/wookayin/gpustat/issues/41
[gh-issue-54]: https://github.com/wookayin/gpustat/issues/54
[gh-issue-66]: https://github.com/wookayin/gpustat/issues/66
[gh-issue-107]: https://github.com/wookayin/gpustat/issues/107
[gh-issue-131]: https://github.com/wookayin/gpustat/issues/131
[gh-issue-133]: https://github.com/wookayin/gpustat/issues/133
Default display
---------------
```
[0] GeForce GTX Titan X | 77°C, 96 % | 11848 / 12287 MB | python/52046(11821M)
```
- `[0]`: GPU index (starts from 0) as PCI_BUS_ID
- `GeForce GTX Titan X`: GPU name
- `77°C`: GPU Temperature (in Celsius)
- `96 %`: GPU Utilization
- `11848 / 12287 MB`: GPU Memory Usage (Used / Total)
- `python/...`: Running processes on GPU, owner/cmdline/PID (and their GPU memory usage)
Changelog
---------
See [CHANGELOG.md](CHANGELOG.md)
License
-------
[MIT License](LICENSE)
Raw data
{
"_id": null,
"home_page": "https://github.com/wookayin/gpustat",
"name": "gpustat",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.6",
"maintainer_email": "",
"keywords": "nvidia-smi gpu cuda monitoring gpustat",
"author": "Jongwook Choi",
"author_email": "wookayin@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/79/c4/46d005aec3bf911cb030467d91e062a5386ff4a03e51874424cacc0f60c1/gpustat-1.1.1.tar.gz",
"platform": null,
"description": "`gpustat`\n=========\n\n[![pypi](https://img.shields.io/pypi/v/gpustat.svg?maxAge=86400)][pypi_gpustat]\n[![Build Status](https://travis-ci.org/wookayin/gpustat.svg?branch=master)](https://travis-ci.org/wookayin/gpustat)\n[![license](https://img.shields.io/github/license/wookayin/gpustat.svg?maxAge=86400)](LICENSE)\n\nJust *less* than nvidia-smi?\n\n![Screenshot: gpustat -cp](https://github.com/wookayin/gpustat/blob/master/screenshot.png)\n\nNOTE: This works with NVIDIA Graphics Devices only, no AMD support as of now. Contributions are welcome!\n\nSelf-Promotion: A web interface of `gpustat` is available (in alpha)! Check out [gpustat-web][gpustat-web].\n\n[gpustat-web]: https://github.com/wookayin/gpustat-web\n\n\n\nQuick Installation\n------------------\n\nInstall from [PyPI][pypi_gpustat]:\n\n```\npip install gpustat\n```\n\nIf you don't have root (sudo) privilege, please try installing `gpustat` on user namespace: `pip install --user gpustat`.\n\nTo install the latest version (master branch) via pip:\n\n```\npip install git+https://github.com/wookayin/gpustat.git@master\n```\n\n\n### NVIDIA Driver Requirements\n\n`gpustat` uses [NVIDIA's official python bindings for NVML library (pynvml)][pypi_pynvml]. As of now `gpustat` requires `nvidia-ml-py >= 11.450.129`, which is compatible with NVIDIA driver versions R450.00 or higher. Please upgrade the NVIDIA driver if `gpustat` fails to display process information. If your NVIDIA driver is too old, you can use older `gpustat` versions (`pip install gpustat<1.0`). See [#107][gh-issue-107] for more details.\n\n\n### Python requirements\n\n- gpustat<1.0: Compatible with python 2.7 and >=3.4\n- gpustat 1.0: [Python >= 3.4][gh-issue-66]\n- gpustat 1.1: Python >= 3.6\n\n\nUsage\n-----\n\n`$ gpustat`\n\nOptions (Please see `gpustat --help` for more details):\n\n* `--color` : Force colored output (even when stdout is not a tty)\n* `--no-color` : Suppress colored output\n* `-u`, `--show-user` : Display username of the process owner\n* `-c`, `--show-cmd` : Display the process name\n* `-f`, `--show-full-cmd` : Display full command and cpu stats of running process\n* `-p`, `--show-pid` : Display PID of the process\n* `-F`, `--show-fan` : Display GPU fan speed\n* `-e`, `--show-codec` : Display encoder and/or decoder utilization\n* `-P`, `--show-power` : Display GPU power usage and/or limit (`draw` or `draw,limit`)\n* `-a`, `--show-all` : Display all gpu properties above\n* `--id` : Target and query specific GPUs only with the specified indices (e.g. `--id 0,1,2`)\n* `--no-processes` : Do not display process information (user, memory) ([#133][gh-issue-133])\n* `--watch`, `-i`, `--interval` : Run in watch mode (equivalent to `watch gpustat`) if given. Denotes interval between updates.\n* `--json` : JSON Output ([#10][gh-issue-10])\n* `--print-completion (bash|zsh|tcsh)` : Print a shell completion script. See [#131][gh-issue-131] for usage.\n\n\n### Tips\n\n- Try `gpustat --debug` if something goes wrong.\n- To periodically watch, try `gpustat --watch` or `gpustat -i` ([#41][gh-issue-41]).\n - For older versions, one may use `watch --color -n1.0 gpustat --color`.\n- Running `nvidia-smi daemon` (root privilege required) will make querying GPUs much **faster** and use less CPU ([#54][gh-issue-54]).\n- The GPU ID (index) shown by `gpustat` (and `nvidia-smi`) is PCI BUS ID,\n while CUDA uses a different ordering (assigns the fastest GPU with the lowest ID) by default.\n Therefore, in order to ensure CUDA and `gpustat` use **same GPU index**,\n configure the `CUDA_DEVICE_ORDER` environment variable to `PCI_BUS_ID`\n (before setting `CUDA_VISIBLE_DEVICES` for your CUDA program):\n `export CUDA_DEVICE_ORDER=PCI_BUS_ID`.\n\n\n[pypi_gpustat]: https://pypi.org/project/gpustat/\n[pypi_pynvml]: https://pypi.org/project/nvidia-ml-py/#history\n[gh-issue-10]: https://github.com/wookayin/gpustat/issues/10\n[gh-issue-41]: https://github.com/wookayin/gpustat/issues/41\n[gh-issue-54]: https://github.com/wookayin/gpustat/issues/54\n[gh-issue-66]: https://github.com/wookayin/gpustat/issues/66\n[gh-issue-107]: https://github.com/wookayin/gpustat/issues/107\n[gh-issue-131]: https://github.com/wookayin/gpustat/issues/131\n[gh-issue-133]: https://github.com/wookayin/gpustat/issues/133\n\nDefault display\n---------------\n\n```\n[0] GeForce GTX Titan X | 77\u00b0C, 96 % | 11848 / 12287 MB | python/52046(11821M)\n```\n\n- `[0]`: GPU index (starts from 0) as PCI_BUS_ID\n- `GeForce GTX Titan X`: GPU name\n- `77\u00b0C`: GPU Temperature (in Celsius)\n- `96 %`: GPU Utilization\n- `11848 / 12287 MB`: GPU Memory Usage (Used / Total)\n- `python/...`: Running processes on GPU, owner/cmdline/PID (and their GPU memory usage)\n\nChangelog\n---------\n\nSee [CHANGELOG.md](CHANGELOG.md)\n\n\nLicense\n-------\n\n[MIT License](LICENSE)\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "An utility to monitor NVIDIA GPU status and usage",
"version": "1.1.1",
"project_urls": {
"Homepage": "https://github.com/wookayin/gpustat"
},
"split_keywords": [
"nvidia-smi",
"gpu",
"cuda",
"monitoring",
"gpustat"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "79c446d005aec3bf911cb030467d91e062a5386ff4a03e51874424cacc0f60c1",
"md5": "63ce9a815d1d252c231f32eecd2929fd",
"sha256": "c18d3ed5518fc16300c42d694debc70aebb3be55cae91f1db64d63b5fa8af9d8"
},
"downloads": -1,
"filename": "gpustat-1.1.1.tar.gz",
"has_sig": false,
"md5_digest": "63ce9a815d1d252c231f32eecd2929fd",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.6",
"size": 98052,
"upload_time": "2023-08-22T19:39:06",
"upload_time_iso_8601": "2023-08-22T19:39:06.062392Z",
"url": "https://files.pythonhosted.org/packages/79/c4/46d005aec3bf911cb030467d91e062a5386ff4a03e51874424cacc0f60c1/gpustat-1.1.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-08-22 19:39:06",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "wookayin",
"github_project": "gpustat",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [],
"lcname": "gpustat"
}