k1gs/Gpu-Shark

Compact Windows GPU telemetry monitor with 50xx HotSpot support.

32

stars

37

commits

Rust

primary language

Sep 10, 2026

updated

github.com/k1gs/Gpu-Shark/releases/latest
gpu-monitoring
native-aot
nvidia
rust
temperature-monitor
windows

README

GPU Shark

GPU Shark cover

Windows Latest release License: Beerware Public GUI build

A compact, native and honest NVIDIA telemetry monitor for Windows.

Download · GPU support · Roadmap · Build · Contribute · Russian

[!IMPORTANT] GPU Shark is strictly read-only. It does not change clocks, voltage, firmware or fan control, and it does not install a kernel driver.

GPU Shark is a lightweight Win32 application with no heavyweight GUI framework and no silent background network telemetry. It shows only measurements that the hardware and driver actually expose; unavailable sensors stay hidden instead of being replaced with guessed values.1

GPU Shark sensor dashboard

At a glance

Native and lightweightHonest telemetryUseful during a test
Fast Win32 interface and a portable official single EXECore, HotSpot and VRAM are never substituted for one anotherLive history, session maximums and GPU-Z-compatible PerfCap reasons
Compact live sensor dashboardExact enhanced thermal mappings are enabled only for validated PCI profilesSeparate fan, power, voltage, activity and system readings when exposed

Highlights

  • GPU Core, HotSpot and VRAM temperatures when the hardware exposes them
  • Decoded NVIDIA PerfCap reasons compatible with GPU-Z: Pwr, Thrm, VRel, VOp, Idle and SLI
  • Separate fan RPM values on supported multi-fan boards
  • GPU, board and source power and voltage sensors
  • Live graph for the selected sensor
  • Per-sensor maximum tracking, enabled by double-clicking a sensor row
  • Persistent language, refresh interval and accent settings
  • Localized About view with the project logo and application version
  • Consent-based feedback form with no automatic submission
  • Fixed landscape layout with flicker-free double-buffered drawing

Native interface

GPU Shark interface view

The interface keeps the live readings, settings, About information and consent-based feedback in one compact native Win32 application.

[!NOTE] GPU Shark never invents a HotSpot value from Core, Memory or an unrelated sensor. Combined PerfCap reasons are shown together, unknown bits are labeled Unknown, and unsupported fields remain hidden.

GPU support

The regular driver/provider path works with many NVIDIA GPUs, but the exact set of visible sensors depends on the GPU, board design, driver and firmware. Enhanced temperature support is deliberately tracked per validated device profile.1

[!WARNING] GeForce RTX 50-series HotSpot support is beta. The current verified enhanced native fallback profile is the desktop GeForce RTX 5050 (10DE:2D83); other RTX 50 cards use the conservative provider path until their exact hardware profiles are validated. GPU Shark marks any displayed RTX 50 HotSpot row as BETA. The label does not manufacture a missing reading.

GPUCoreHotSpotVRAM temperatureProfile status
GeForce RTX 2060 SUPERYesValidatedBoard-dependentValidated
GeForce RTX 2070 SUPERYesValidatedValidatedValidated
GeForce RTX 3050YesValidatedBoard-dependentValidated
GeForce RTX 3060YesValidatedBoard-dependentValidated
GeForce RTX 3070YesValidatedBoard-dependentValidated
GeForce RTX 3080YesValidatedValidatedValidated
GeForce RTX 4060YesValidatedBoard-dependentValidated
GeForce RTX 4090YesValidatedUnder validationHotSpot validated
GeForce RTX 5050YesBeta2ValidatedExact desktop profile
GeForce RTX 5070YesBeta2Yes on tested boardExperimental
GeForce RTX 5070 TiYesBeta2Yes on tested boardExperimental
Other NVIDIA GPUsUsuallyDriver/board-dependentDriver/board-dependentConservative fallback

See SUPPORTED_GPUS.md for the user-facing support matrix. If a measurement cannot be confirmed, GPU Shark leaves it unavailable.

Roadmap

[!TIP] The roadmap describes product direction, not a promise to ship unverified telemetry. Hardware support remains evidence-driven.

StatusDirection
🧪 BetaExpand validated HotSpot telemetry for GeForce RTX 50-series cards; RTX 5050 is the first exact beta profile2
🟡 In progressAdd more useful and correctly defined sensors
🔵 PlannedRework and polish the GUI
🔵 PlannedAdd Linux support
🧪 ResearchGPU Summary backed by a curated GPU database
🔵 PlannedFlexible game/test overlay configuration and presentation
🧪 ResearchBuilt-in opt-in stress testing, including VRAM and memory-error checks3
SomedayExplore AMD GPU support after the NVIDIA experience and telemetry contracts are mature

The immediate focus is the GUI polish pass, RTX 50 beta validation and expanding the sensor model without weakening the read-only or privacy guarantees.

AMD GPU support is a long-term idea only: there is no active implementation or release target for it yet.

Download

  1. Open the releases page.
  2. Download GPU-Shark-win-x64.zip and SHA256SUMS.txt from the newest release.
  3. Compare the archive SHA-256, unpack it and launch GPU-Shark.exe.
  4. Accept the Windows administrator prompt required for read-only hardware access.
(Get-FileHash .\GPU-Shark-win-x64.zip -Algorithm SHA256).Hash

The official package contains a standalone executable. Windows SmartScreen may warn because the current binaries are not code-signed. Download only from this repository and verify the published hash.

Requirements

  • Windows 10 or Windows 11, x64
  • NVIDIA GPU with an installed display driver
  • Administrator privileges for local hardware access

Feedback and privacy

The application never sends a report automatically. Feedback is submitted only after the user writes a message and explicitly accepts the consent option. A report can contain the app version, selected interface language, detected GPU name, currently displayed public sensors, a safe provider error, the user's message and an optional reply address.

Reports do not include GPU UUIDs, serial numbers, computer name, Windows account name or private hardware diagnostics.

[!CAUTION] Do not attach private diagnostic dumps, proprietary NVIDIA material, API secrets or identity-bearing captures to public issues or pull requests.

Build the public GUI

The public Rust/Win32 GUI source is in gui-source/. The managed and native telemetry-provider implementations are intentionally not published. Matching public runtime DLLs are supplied through the GPU-Shark-gui-runtime-win-x64.zip release asset.4

Prerequisites

  • Stable Rust toolchain with rustfmt
  • Visual Studio C++ Build Tools
  • The runtime asset matching the GUI version

Local build

  1. Download the matching runtime asset and extract it.
  2. Open PowerShell in gui-source/.
  3. Configure a compatible feedback destination. The production destination is not stored in public source.
  4. Format, test and build the GUI.
  5. Build either an adjacent-runtime development package or a standalone EXE.
$env:GPU_SHARK_FEEDBACK_HOST = "your-compatible-feedback-host"
$env:GPU_SHARK_FEEDBACK_PATH = "/your/api/path"

cargo fmt --check
cargo test
cargo build --release --locked

Copy-Item C:\path\to\runtime\*.dll .\target\release\
.\target\release\gpu-shark-gui.exe

For the official standalone layout, embed the verified runtime while building:

$env:GPU_SHARK_EMBED_PUBLIC_RUNTIME = "1"
$env:GPU_SHARK_PUBLIC_PAYLOAD_DIR = "C:\path\to\verified-runtime"
cargo build --release --locked

The GUI loads gs.dll beside the executable and calls the small public export q to receive one privacy-filtered JSON telemetry snapshot. Runtime and GUI versions must match.

GitHub Actions build

The Build public GUI workflow formats, checks and builds the GUI, downloads the matching runtime, verifies its published SHA-256, embeds it and uploads a standalone single-EXE CI artifact. The workflow has read-only repository permissions and cannot publish or modify releases.

Contributing

Small, focused pull requests are welcome. Keep implementation, documentation and build changes in separate commits when practical.

Branch and commit workflow

git checkout -b feat/short-description

cargo fmt --check
cargo test
cargo check --locked

git add path\to\changed-file
git diff --cached
git commit -m "feat: describe the user-visible change"
git push -u origin feat/short-description

Open a pull request against main and explain:

  • what changed and why;
  • how it was tested;
  • which GPU/driver was used for hardware-specific behavior;
  • whether the change affects privacy, packaging or the public ABI.
PrefixUse it for
feat:New user-visible functionality
fix:Bug fixes and regressions
docs:Documentation-only changes
test:Test coverage and fixtures
build:Build, packaging or CI changes
refactor:Internal cleanup without a behavior change

[!WARNING] Never generalize a thermal mapping from one board to an entire GPU family. New HotSpot or VRAM mappings require an exact PCI profile and independent evidence. Do not publish private provider sources, private API identifiers, raw captures, debug symbols or local machine data.

License

GPU Shark's original code and release binaries are available under the Beerware license. Third-party components retain their own licenses; their notices are included in every binary/runtime release asset.

Bug reports are welcome through GitHub Issues.

Footnotes

  1. Sensor availability varies between GPU chips, board partners, driver versions and firmware. A listed GPU model does not imply that every board exposes every measurement. 2

  2. RTX 50 HotSpot support is beta and evidence-gated. The desktop RTX 5050 10DE:2D83 profile has an independently validated native HotSpot fallback. Other RTX 50 cards do not receive a native HotSpot fallback until they have their own exact same-board evidence. If the regular provider exposes a HotSpot reading, GPU Shark displays it and marks the row BETA. Core or VRAM will never be relabeled as HotSpot. 2 3 4

  3. Any future stress test must be explicitly started by the user and remain isolated from clocks, voltage, firmware and fan-control paths.

  4. Public source can build and audit the GUI and reproduce the standalone packaging against a checksum-verified released runtime. Provider DLL implementation source remains intentionally outside this repository.

Contributors

k1gs

37 commits

k1gs/Gpu-Shark

Compact Windows GPU telemetry monitor with 50xx HotSpot support.

32

stars

37

commits

Rust

primary language

Sep 10, 2026

updated

github.com/k1gs/Gpu-Shark/releases/latest
gpu-monitoring
native-aot
nvidia
rust
temperature-monitor
windows

README

GPU Shark

GPU Shark cover

Windows Latest release License: Beerware Public GUI build

A compact, native and honest NVIDIA telemetry monitor for Windows.

Download · GPU support · Roadmap · Build · Contribute · Russian

[!IMPORTANT] GPU Shark is strictly read-only. It does not change clocks, voltage, firmware or fan control, and it does not install a kernel driver.

GPU Shark is a lightweight Win32 application with no heavyweight GUI framework and no silent background network telemetry. It shows only measurements that the hardware and driver actually expose; unavailable sensors stay hidden instead of being replaced with guessed values.1

GPU Shark sensor dashboard

At a glance

Native and lightweightHonest telemetryUseful during a test
Fast Win32 interface and a portable official single EXECore, HotSpot and VRAM are never substituted for one anotherLive history, session maximums and GPU-Z-compatible PerfCap reasons
Compact live sensor dashboardExact enhanced thermal mappings are enabled only for validated PCI profilesSeparate fan, power, voltage, activity and system readings when exposed

Highlights

  • GPU Core, HotSpot and VRAM temperatures when the hardware exposes them
  • Decoded NVIDIA PerfCap reasons compatible with GPU-Z: Pwr, Thrm, VRel, VOp, Idle and SLI
  • Separate fan RPM values on supported multi-fan boards
  • GPU, board and source power and voltage sensors
  • Live graph for the selected sensor
  • Per-sensor maximum tracking, enabled by double-clicking a sensor row
  • Persistent language, refresh interval and accent settings
  • Localized About view with the project logo and application version
  • Consent-based feedback form with no automatic submission
  • Fixed landscape layout with flicker-free double-buffered drawing

Native interface

GPU Shark interface view

The interface keeps the live readings, settings, About information and consent-based feedback in one compact native Win32 application.

[!NOTE] GPU Shark never invents a HotSpot value from Core, Memory or an unrelated sensor. Combined PerfCap reasons are shown together, unknown bits are labeled Unknown, and unsupported fields remain hidden.

GPU support

The regular driver/provider path works with many NVIDIA GPUs, but the exact set of visible sensors depends on the GPU, board design, driver and firmware. Enhanced temperature support is deliberately tracked per validated device profile.1

[!WARNING] GeForce RTX 50-series HotSpot support is beta. The current verified enhanced native fallback profile is the desktop GeForce RTX 5050 (10DE:2D83); other RTX 50 cards use the conservative provider path until their exact hardware profiles are validated. GPU Shark marks any displayed RTX 50 HotSpot row as BETA. The label does not manufacture a missing reading.

GPUCoreHotSpotVRAM temperatureProfile status
GeForce RTX 2060 SUPERYesValidatedBoard-dependentValidated
GeForce RTX 2070 SUPERYesValidatedValidatedValidated
GeForce RTX 3050YesValidatedBoard-dependentValidated
GeForce RTX 3060YesValidatedBoard-dependentValidated
GeForce RTX 3070YesValidatedBoard-dependentValidated
GeForce RTX 3080YesValidatedValidatedValidated
GeForce RTX 4060YesValidatedBoard-dependentValidated
GeForce RTX 4090YesValidatedUnder validationHotSpot validated
GeForce RTX 5050YesBeta2ValidatedExact desktop profile
GeForce RTX 5070YesBeta2Yes on tested boardExperimental
GeForce RTX 5070 TiYesBeta2Yes on tested boardExperimental
Other NVIDIA GPUsUsuallyDriver/board-dependentDriver/board-dependentConservative fallback

See SUPPORTED_GPUS.md for the user-facing support matrix. If a measurement cannot be confirmed, GPU Shark leaves it unavailable.

Roadmap

[!TIP] The roadmap describes product direction, not a promise to ship unverified telemetry. Hardware support remains evidence-driven.

StatusDirection
🧪 BetaExpand validated HotSpot telemetry for GeForce RTX 50-series cards; RTX 5050 is the first exact beta profile2
🟡 In progressAdd more useful and correctly defined sensors
🔵 PlannedRework and polish the GUI
🔵 PlannedAdd Linux support
🧪 ResearchGPU Summary backed by a curated GPU database
🔵 PlannedFlexible game/test overlay configuration and presentation
🧪 ResearchBuilt-in opt-in stress testing, including VRAM and memory-error checks3
SomedayExplore AMD GPU support after the NVIDIA experience and telemetry contracts are mature

The immediate focus is the GUI polish pass, RTX 50 beta validation and expanding the sensor model without weakening the read-only or privacy guarantees.

AMD GPU support is a long-term idea only: there is no active implementation or release target for it yet.

Download

  1. Open the releases page.
  2. Download GPU-Shark-win-x64.zip and SHA256SUMS.txt from the newest release.
  3. Compare the archive SHA-256, unpack it and launch GPU-Shark.exe.
  4. Accept the Windows administrator prompt required for read-only hardware access.
(Get-FileHash .\GPU-Shark-win-x64.zip -Algorithm SHA256).Hash

The official package contains a standalone executable. Windows SmartScreen may warn because the current binaries are not code-signed. Download only from this repository and verify the published hash.

Requirements

  • Windows 10 or Windows 11, x64
  • NVIDIA GPU with an installed display driver
  • Administrator privileges for local hardware access

Feedback and privacy

The application never sends a report automatically. Feedback is submitted only after the user writes a message and explicitly accepts the consent option. A report can contain the app version, selected interface language, detected GPU name, currently displayed public sensors, a safe provider error, the user's message and an optional reply address.

Reports do not include GPU UUIDs, serial numbers, computer name, Windows account name or private hardware diagnostics.

[!CAUTION] Do not attach private diagnostic dumps, proprietary NVIDIA material, API secrets or identity-bearing captures to public issues or pull requests.

Build the public GUI

The public Rust/Win32 GUI source is in gui-source/. The managed and native telemetry-provider implementations are intentionally not published. Matching public runtime DLLs are supplied through the GPU-Shark-gui-runtime-win-x64.zip release asset.4

Prerequisites

  • Stable Rust toolchain with rustfmt
  • Visual Studio C++ Build Tools
  • The runtime asset matching the GUI version

Local build

  1. Download the matching runtime asset and extract it.
  2. Open PowerShell in gui-source/.
  3. Configure a compatible feedback destination. The production destination is not stored in public source.
  4. Format, test and build the GUI.
  5. Build either an adjacent-runtime development package or a standalone EXE.
$env:GPU_SHARK_FEEDBACK_HOST = "your-compatible-feedback-host"
$env:GPU_SHARK_FEEDBACK_PATH = "/your/api/path"

cargo fmt --check
cargo test
cargo build --release --locked

Copy-Item C:\path\to\runtime\*.dll .\target\release\
.\target\release\gpu-shark-gui.exe

For the official standalone layout, embed the verified runtime while building:

$env:GPU_SHARK_EMBED_PUBLIC_RUNTIME = "1"
$env:GPU_SHARK_PUBLIC_PAYLOAD_DIR = "C:\path\to\verified-runtime"
cargo build --release --locked

The GUI loads gs.dll beside the executable and calls the small public export q to receive one privacy-filtered JSON telemetry snapshot. Runtime and GUI versions must match.

GitHub Actions build

The Build public GUI workflow formats, checks and builds the GUI, downloads the matching runtime, verifies its published SHA-256, embeds it and uploads a standalone single-EXE CI artifact. The workflow has read-only repository permissions and cannot publish or modify releases.

Contributing

Small, focused pull requests are welcome. Keep implementation, documentation and build changes in separate commits when practical.

Branch and commit workflow

git checkout -b feat/short-description

cargo fmt --check
cargo test
cargo check --locked

git add path\to\changed-file
git diff --cached
git commit -m "feat: describe the user-visible change"
git push -u origin feat/short-description

Open a pull request against main and explain:

  • what changed and why;
  • how it was tested;
  • which GPU/driver was used for hardware-specific behavior;
  • whether the change affects privacy, packaging or the public ABI.
PrefixUse it for
feat:New user-visible functionality
fix:Bug fixes and regressions
docs:Documentation-only changes
test:Test coverage and fixtures
build:Build, packaging or CI changes
refactor:Internal cleanup without a behavior change

[!WARNING] Never generalize a thermal mapping from one board to an entire GPU family. New HotSpot or VRAM mappings require an exact PCI profile and independent evidence. Do not publish private provider sources, private API identifiers, raw captures, debug symbols or local machine data.

License

GPU Shark's original code and release binaries are available under the Beerware license. Third-party components retain their own licenses; their notices are included in every binary/runtime release asset.

Bug reports are welcome through GitHub Issues.

Footnotes

  1. Sensor availability varies between GPU chips, board partners, driver versions and firmware. A listed GPU model does not imply that every board exposes every measurement. 2

  2. RTX 50 HotSpot support is beta and evidence-gated. The desktop RTX 5050 10DE:2D83 profile has an independently validated native HotSpot fallback. Other RTX 50 cards do not receive a native HotSpot fallback until they have their own exact same-board evidence. If the regular provider exposes a HotSpot reading, GPU Shark displays it and marks the row BETA. Core or VRAM will never be relabeled as HotSpot. 2 3 4

  3. Any future stress test must be explicitly started by the user and remain isolated from clocks, voltage, firmware and fan-control paths.

  4. Public source can build and audit the GUI and reproduce the standalone packaging against a checksum-verified released runtime. Provider DLL implementation source remains intentionally outside this repository.

Contributors

k1gs

37 commits

Languages

Rust

100.0%