Repolode
MiaAI-Lab

MiaAI-Lab/sparkLimiter

A shell tool that caps the GPU graphics clock on all your NVIDIA DGX Spark machines and re-applies the limit at boot via systemd.

Stars
105
Forks
12
Open issues
0
Last commit
24 days ago

What is it?

sparkLimiter caps the maximum GPU graphics clock on NVIDIA DGX Spark machines. It discovers Sparks on your network using ssh config, known_hosts, mDNS, and the neighbour table, then runs nvidia-smi -lgc with a configurable range (default 0,2200 MHz) on each one selected.

Since nvidia-smi -lgc does not persist across reboots, the tool also installs a oneshot systemd service on each host that re-applies the limit at boot. Re-running the script overwrites and restarts the unit, and the --uninstall option removes the service and resets clocks.

Discovery only probes hosts over key-based ssh, and only counts machines reporting a GB10 GPU or DGX Spark product name. Applying changes uses normal ssh host-key checking, and hosts without a working NVIDIA driver are left unchanged.

Key features

  • 01Auto-discovers DGX Spark machines via ssh config, known_hosts, mDNS, and ARP neighbours.
  • 02Applies a configurable GPU clock range, defaulting to 0,2200 MHz, to selected hosts.
  • 03Installs a systemd service so the clock cap is re-applied after every reboot.
  • 04Interactive selection of hosts, or non-interactive mode with --yes for scripts.
  • 05Provides an --uninstall option that removes the service and resets clocks.

Use cases

  • Lowering power draw, heat, and fan noise across a small fleet of DGX Spark machines.
  • Keeping sustained GPU workloads on several Sparks at a steadier clock.
  • Scripting consistent clock limits across Sparks from a laptop or workstation.

Quick start

  1. 1

    Clone the repository

    git clone https://github.com/<you>/sparkLimiter.git
  2. 2

    Enter the project directory

    cd sparkLimiter
  3. 3

    Run the script and choose which Sparks to apply the limit to

    ./spark-limiter.sh

Things to know

  • Needs key-based ssh access and a user with sudo rights on each DGX Spark.
  • mDNS discovery works only on Linux; macOS users must list hosts manually or use other discovery sources.
  • Restarting or stopping the service briefly resets the GPU clocks.

In collections

Topics

#nvidia#gpu#systemd#ssh#shell#dgx-spark#power-management

FAQ

What is sparkLimiter?
A shell tool that caps the GPU graphics clock on all your NVIDIA DGX Spark machines and re-applies the limit at boot via systemd. sparkLimiter caps the maximum GPU graphics clock on NVIDIA DGX Spark machines. It discovers Sparks on your network using ssh config, known_hosts, mDNS, and the neighbour table, then runs nvidia-smi -lgc with a configurable range (default 0,2200 MHz) on each one selected.
Is sparkLimiter free to use? What license does it have?
sparkLimiter is open source under the MIT license. Check the license terms before using it in commercial products.
Is sparkLimiter still maintained?
Actively maintained. The last commit to sparkLimiter was on Oct 14, 2026.
What can I use sparkLimiter for?
Lowering power draw, heat, and fan noise across a small fleet of DGX Spark machines. Keeping sustained GPU workloads on several Sparks at a steadier clock. Scripting consistent clock limits across Sparks from a laptop or workstation.
How do I install sparkLimiter?
Clone the repository: git clone https://github.com/<you>/sparkLimiter.git Enter the project directory: cd sparkLimiter Run the script and choose which Sparks to apply the limit to: ./spark-limiter.sh
Where can I get sparkLimiter?
The source code and installation instructions are on GitHub: https://github.com/MiaAI-Lab/sparkLimiter

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects

Lightweight Windows control tool for Asus laptops that replaces most of Armoury Crate's performance modes, GPU modes, fan curves and lighting features.

Productivity & Apps#asus#laptop#windows
15.9K+105 this week669C#GPL-3.0Well maintainedUpdated yesterday