btop++ is a cross-platform system resource monitor implemented in modern C++ (C++20/23). It provides a real-time terminal user interface displaying CPU, memory, disk, network, process, and GPU utilization. The architecture is modular: a main thread handles input and rendering while a runner thread periodically collects system metrics via platform-specific collectors (Linux: /proc, /sys, perf_event_open; macOS: sysctl, SMC, IOReport; BSD: kvm, sysctl). The codebase features a theming engine with gradient support, a config system with TOML-based persistence, and bundled fmt library for type-safe formatting. While the project demonstrates solid engineering with RAII patterns, atomic locks, and terminal escape code abstractions, it relies heavily on global state and platform-specific ifdefs, which limits testability and portability. GPU monitoring supports NVIDIA, AMD, and Intel integrated GPUs through dynamic library loading and kernel interfaces.
This repository provides a worker client for the AI Horde distributed computing network. It enables users to contribute their GPU/CPU resources to process AI generation jobs (image generation via Stable Diffusion, image interrogation/post-processing, and text generation via LLMs) in exchange for kudos, the platform's currency. The application features a modular architecture with separate components for configuration management, job processing, model management, and user interface. The system operates by registering with the AI Horde API, polling for available jobs, processing them using locally loaded ML models, and submitting results back to earn kudos. It supports three worker types: Dreamer (image generation, though now deprecated in favor of horde-worker-reGen), Alchemist (image interrogation and post-processing), and Scribe (text generation). Key features include automatic model downloading, dynamic model loading based on demand, GPU monitoring, and both terminal and web-based user interfaces for configuration and monitoring.
GPU-T is a Linux desktop utility for comprehensive GPU information and monitoring, positioned as a GPU-Z alternative for Linux. It provides real-time sensor data (clocks, temperatures, power, fan speeds), static hardware specifications from JSON databases and sysfs, and detection of API capabilities (Vulkan, OpenCL, CUDA, etc.) through a modular probe system. The application follows the MVVM pattern with Avalonia UI and features a sidecar process for NVIDIA-specific NVAPI/NVML interactions to ensure stability and isolate native interop. Hardware detection relies on sysfs paths, external tool execution, and vendor-specific databases, with user override capabilities for hardware specifications. The modular design separates concerns into probes for hardware polling, advanced providers for feature detection, and utilities for common tasks like settings management and shell command execution.
nvml-wrapper is a Rust workspace providing safe, high-level bindings to the NVIDIA Management Library (NVML). It is a library crate, not an application: there are no binaries, servers, or CLIs. The workspace is split into `nvml-wrapper-sys` (low-level FFI bindings, including runtime loading of `libnvidia-ml.so`/`nvml.dll` via `libloading`) and `nvml-wrapper` (a safe, typed API). The primary entry point is `Nvml::init()`, which loads the NVML library and returns a handle; from there, `Device` exposes 100+ methods for querying GPU state such as memory, clocks, temperature, power, ECC, NvLink, vGPU, MIG, and GPM metrics. The crate also supports mutating operations like setting application clocks and fan speed, and includes a `legacy-functions` feature for older NVML versions.