From 4880110da3a2af49867faa6b9156942c87701657 Mon Sep 17 00:00:00 2001 From: Josh Lay Date: Fri, 21 Apr 2023 00:42:38 -0500 Subject: [PATCH] init --- README.md | 21 +++++ gpustats.py | 266 ++++++++++++++++++++++++++++++++++++++++++++++++++++ logging.png | Bin 0 -> 57395 bytes main.png | Bin 0 -> 18072 bytes stats.css | 25 +++++ 5 files changed, 312 insertions(+) create mode 100644 README.md create mode 100755 gpustats.py create mode 100644 logging.png create mode 100644 main.png create mode 100644 stats.css diff --git a/README.md b/README.md new file mode 100644 index 0000000..4c97ab1 --- /dev/null +++ b/README.md @@ -0,0 +1,21 @@ +# amdgpu_stats + +Simple TUI _(using [Textual](https://textual.textualize.io/))_ that shows AMD GPU statistics: + - GPU Utilization + - Temperature + - Core clock + - Core voltage + - Memory clock + - Power consumption + - Power limits + - Default + - Configured + - Board capability + +## Screenshots + +Main screen: +![Screenshot of main screen](main.png "Main screen") + +Log screen: +![Screenshot of log screen](logging.png "Logging screen") diff --git a/gpustats.py b/gpustats.py new file mode 100755 index 0000000..383786e --- /dev/null +++ b/gpustats.py @@ -0,0 +1,266 @@ +#!/usr/bin/python3 +"""Pretty Textual-based stats for AMD GPUs""" +from os import path, listdir +import glob +import re +import sys + +# from textual import events +from textual.app import App, ComposeResult +from textual.containers import Container +from textual.reactive import reactive +from textual.screen import Screen +from textual.widgets import Header, Footer, Static, TextLog, Label +from humanfriendly import format_size + + +def find_card(): + """searches /sys/class/drm/*/status for connected cards""" + _card = False + status_path = "/sys/class/drm/*/status" + files = glob.glob(status_path) + for file in files: + with open(file, "r", encoding="utf-8") as _f: + for line in _f: + if re.search(r"^connected", line): + # found a connected card/display + _card = path.basename(path.dirname(file)).split("-")[0] + return _card + + +def find_hwmon(card): + """for the provided `card`, find the hwmon path that provides stats""" + hwmon_src = path.join("/sys/class/drm/", card, "device/hwmon/") + for hwmon_candidate in listdir(hwmon_src): + name_file = path.join(hwmon_src, hwmon_candidate, "name") + # check if the name file exists + if path.exists(name_file): + # read the contents of the name file + with open(name_file, "r", encoding="utf-8") as name_fh: + name = name_fh.read().strip() + + # check if the name matches the desired GPU + if name == "amdgpu": + # found the correct hwmon directory + # print(f'found amdgpu hwmon: {hwmon_candidate}') + hwmon_path = path.join(hwmon_src, hwmon_candidate) + return hwmon_path + # if nothing found, return None + return None + + +def read_stat(file): + """given `file`, return the contents""" + with open(file, "r", encoding="utf-8") as _fh: + data = _fh.read().strip() + return data + + +def format_frequency(frequency_hz): + """takes a frequency and formats it with an appropriate Hz suffix""" + return ( + format_size(int(frequency_hz), binary=False) + .replace("B", "Hz") + .replace("bytes", "Hz") + ) + + +class LogScreen(Screen): + """Creates a screen for the logging widget""" + + BINDINGS = [("l", "app.pop_screen", "Show/hide logs")] + + def __init__(self, *args, **kwargs): + super().__init__(*args, **kwargs) + self.text_log = TextLog(highlight=True, markup=True) + + def on_mount(self) -> None: + """Event handler called when widget is first added + On first display in this case.""" + + def compose(self) -> ComposeResult: + yield Header() + yield Container(self.text_log) + yield Footer() + +# def on_key(self, event: events.Key) -> None: +# """Log/show key presses when the log window is open""" +# self.text_log.write(event) + + +class GPUStatsWidget(Static): + """The main stats widget.""" + + def compose(self) -> ComposeResult: + """Create child widgets.""" + yield ClockDisplay(classes="box") + yield PowerDisplay(classes="box") + yield MiscDisplay(classes="box") + + +class GPUStats(App): + """Textual-based tool to show AMDGPU statistics.""" + + # determine the real path of the script, to load the stylesheet + SCRIPT_PATH = path.dirname(path.realpath(__file__)) + CSS_PATH = path.join(SCRIPT_PATH, "stats.css") + + # initialize log screen + SCREENS = {"logs": LogScreen()} + + # setup keybinds + BINDINGS = [ + ("c", "toggle_dark", "Toggle colors"), + ("l", "push_screen('logs')", "Show/hide logs"), + ("q", "quit_app", "Quit"), + ] + + def compose(self) -> ComposeResult: + """Create child widgets for the app.""" + yield Header() + yield Footer() + yield Container(GPUStatsWidget()) + self.update_log("[bold green]App started, logging begin!") + self.update_log("[bold italic]Information sources:[/]") + for metric, source in src_files.items(): + self.update_log(f'[bold] {metric}:[/] {source}') + + def action_toggle_dark(self) -> None: + """An action to toggle dark mode.""" + self.dark = not self.dark + self.update_log(f"Dark side: [bold]{self.dark}") + + def action_quit_app(self) -> None: + """An action to quit the program""" + message = "Exiting on user request" + self.update_log(f"[bold]{message}") + self.exit(message) + + def update_log(self, message: str) -> None: + """Update the TextLog widget with a new message.""" + log_screen = self.SCREENS["logs"] + log_screen.text_log.write(message) + + +class MiscDisplay(Static): + """A widget to display misc. GPU stats.""" + + # for bringing in the log writing method + misc_stats = reactive({"util_pct": 0, "temp": 0}) + + def __init__(self, *args, **kwargs): + super().__init__(*args, **kwargs) + self.timer_misc = None + + def compose(self) -> ComposeResult: + yield Label("Misc:", classes="statlabel") + + def on_mount(self) -> None: + """Event handler called when widget is added to the app.""" + self.timer_misc = self.set_interval(1, self.update_misc_stats) + + def update_misc_stats(self) -> None: + """Method to update the 'misc' values to current measurements. + Utilization % and temperature (C)""" + self.misc_stats = { + "util_pct": read_stat(src_files['busy_pct']), + "temp": int(int(read_stat(src_files['temp_c'])) / 1000), + } + + def watch_misc_stats(self, misc_stats: dict) -> None: + """Called when the clocks attribute changes.""" + output = f"""Temp: {misc_stats['temp']}C +Util: {misc_stats['util_pct']}%""" + self.update(output) + + +class ClockDisplay(Static): + """A widget to display GPU power stats.""" + + clocks = reactive({"sclk": 0, "mclk": 0, "core_voltage": 0}) + + def __init__(self, *args, **kwargs): + super().__init__(*args, **kwargs) + self.timer_clocks = None + + def compose(self) -> ComposeResult: + yield Label("Clocks:", classes="statlabel") + + def on_mount(self) -> None: + """Event handler called when widget is added to the app.""" + self.timer_clocks = self.set_interval(1, self.update_clocks) + + def update_clocks(self) -> None: + """Method to update GPU clock values to the current measurements.""" + self.clocks = { + "sclk": format_frequency(read_stat(src_files['core_clock'])), + "mclk": format_frequency(read_stat(src_files['memory_clock'])), + "core_voltage": float( + f"{int(read_stat(src_files['core_voltage'])) / 1000:.2f}" + ), + } + + def watch_clocks(self, clocks: dict) -> None: + """Called when the clocks attribute changes.""" + output = f"""Core: {clocks['sclk']} @ {clocks['core_voltage']}V +Memory: {clocks['mclk']}""" + self.update(output) + + +class PowerDisplay(Static): + """A widget to display GPU power stats.""" + + micro_watts = reactive({"limit": 0, + "average": 0, + "capability": 0, + "default": 0}) + + def __init__(self, *args, **kwargs): + super().__init__(*args, **kwargs) + self.timer_micro_watts = None + + def compose(self) -> ComposeResult: + yield Label("Power:", classes="statlabel") + + def on_mount(self) -> None: + """Event handler called when widget is added to the app.""" + self.timer_micro_watts = self.set_interval(1, self.update_micro_watts) + + def update_micro_watts(self) -> None: + """Method to update GPU power values to current measurements.""" + self.micro_watts = { + "limit": int(int(read_stat(src_files['pwr_limit'])) / 1000000), + "average": int(int(read_stat(src_files['pwr_average'])) / 1000000), + "capability": int(int(read_stat(src_files['pwr_cap'])) / 1000000), + "default": int(int(read_stat(src_files['pwr_default'])) / 1000000), + } + + def watch_micro_watts(self, micro_watts: dict) -> None: + """Called when the micro_watts attributes change.""" + output = f"""Using: {micro_watts['average']}W +Set limit: {micro_watts['limit']}W +Default: {micro_watts['default']}W +Board cap: {micro_watts['capability']}W""" + self.update(output) + + +if __name__ == "__main__": + CARD = find_card() + card_dir = path.join("/sys/class/drm/", CARD) # eg: /sys/class/drm/card0/ + hwmon_dir = find_hwmon(CARD) + if hwmon_dir is None: + sys.exit( + """Could not determine hwmon, exiting. + Consider '--card', perhaps {CARD} is incorrect""" + ) + src_files = {'pwr_limit': path.join(hwmon_dir, "power1_cap"), + 'pwr_average': path.join(hwmon_dir, "power1_average"), + 'pwr_cap': path.join(hwmon_dir, "power1_cap_max"), + 'pwr_default': path.join(hwmon_dir, "power1_cap_default"), + 'core_clock': path.join(hwmon_dir, "freq1_input"), + 'core_voltage': path.join(hwmon_dir, "in0_input"), + 'memory_clock': path.join(hwmon_dir, "freq2_input"), + 'busy_pct': path.join(card_dir, "device/gpu_busy_percent"), + 'temp_c': path.join(hwmon_dir, "temp1_input")} + app = GPUStats() + app.run() diff --git a/logging.png b/logging.png new file mode 100644 index 0000000000000000000000000000000000000000..a71e6b8326a0fd7b04dd280fbe745b09cb8aff69 GIT binary patch literal 57395 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 z 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

#K{ej`9JO!J`74a7mmKUK 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 tD