2023-04-21 05:42:38 +00:00
# amdgpu_stats
2023-04-26 02:18:43 +00:00
A simple Python module/TUI _(using [Textual](https://textual.textualize.io/))_ that shows AMD GPU statistics
2023-04-23 16:07:06 +00:00
2023-04-23 22:20:46 +00:00
![Screenshot of main screen ](https://raw.githubusercontent.com/joshlay/amdgpu_stats/master/screens/main.png "Main screen" )
2023-04-23 16:07:06 +00:00
2023-04-25 02:41:50 +00:00
The GPU and temperature nodes (`edge`/`junction`/etc.) are discovered automatically.
2023-04-27 04:00:51 +00:00
Please see [the module section ](#module ) or [the docs ](https://amdgpu-stats.readthedocs.io/en/latest/ ) for information on usage as an `import` in other tooling
2023-04-23 16:07:06 +00:00
2023-04-25 02:41:50 +00:00
Tested _only_ on `RX6000` series cards; APUs and more _may_ be supported. Please file an issue if finding incompatibility!
2023-04-21 05:47:54 +00:00
2023-04-21 16:57:37 +00:00
## Requirements
2023-04-21 17:46:51 +00:00
Only `Linux` is supported. Information is _completely_ sourced from interfaces in `sysfs` .
2023-04-21 17:39:34 +00:00
2023-04-22 14:35:52 +00:00
It _may_ be necessary to update the `amdgpu.ppfeaturemask` parameter to enable metrics.
This is assumed present for *control* over the elements being monitored. Untested without.
See [this Arch Wiki entry ](https://wiki.archlinux.org/title/AMDGPU#Boot_parameter ) for context.
2023-04-25 02:41:50 +00:00
## Installation / Usage
```
pip install amdgpu-stats
```
Once installed, run `amdgpu-stats` in your terminal of choice
## Module
2023-04-25 03:17:39 +00:00
*Rudimentary* support as a module exists; functions / variables offered can be found in `amdgpu_stats.utils`
2023-04-25 02:41:50 +00:00
2023-04-25 06:20:12 +00:00
Demonstration:
2023-04-25 02:41:50 +00:00
```
2023-04-25 06:20:12 +00:00
In [1]: import amdgpu_stats.utils
2023-04-27 04:00:51 +00:00
In [2]: amdgpu_stats.utils.AMDGPU_CARDS
Out[2]: {'card0': '/sys/class/drm/card0/device/hwmon/hwmon9'}
2023-04-25 02:41:50 +00:00
2023-04-27 04:00:51 +00:00
In [3]: amdgpu_stats.utils.get_core_stats('card0')
Out[3]: {'sclk': 640000000, 'mclk': 1000000000, 'voltage': 0.79, 'util_pct': 65}
2023-04-25 02:41:50 +00:00
2023-04-27 04:00:51 +00:00
In [4]: amdgpu_stats.utils.get_clock('card0', 'core', format_freq=True)
Out[4]: '659 MHz'
2023-04-25 02:41:50 +00:00
```
2023-04-27 04:00:51 +00:00
Feature requests [are encouraged ](https://github.com/joshlay/amdgpu_stats/issues ) :)
2023-04-26 03:34:42 +00:00
## Documentation
For more information on the module, see:
- `help('amdgpu_stats.utils')` in your interpreter
- [ReadTheDocs ](https://amdgpu-stats.readthedocs.io/en/latest/ )
- [the module source ](https://github.com/joshlay/amdgpu_stats/blob/master/src/amdgpu_stats/utils.py ) for more info