MCPcopy Index your code
hub / github.com/arcnmx/nvoclock

github.com/arcnmx/nvoclock @0.0.3

Chat with this repo
repository ↗ · DeepWiki ↗ · release 0.0.3 ↗ · + Follow
36 symbols 71 edges 6 files 0 documented · 0% updated 2y ago0.0.3 · 2017-10-25★ 325 open issues
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

nvoclock

travis-badge release-badge license-badge

nvoclock is a command-line interface to NVAPI that supports full monitoring and overclocking of NVIDIA GPUs on Windows platforms.

Download

Binary downloads are available here on Github for both x86 and x86_64 Windows platforms. No installer necessary, just bring the GPU and ensure the drivers are installed properly. It can also be installed and built from source using cargo install nvoclock

Features

While the interface may be a bit clunky, it supports everything you'd expect out of a modern overclocking tool:

  • GPU detection and displaying of stats, capabilities, etc. similar to GPU-Z
  • Monitor the status of a GPU including power draw, load usage, clocks, voltage, temperatures, fans, and so on - anything Afterburner would have a chart for
  • Fan control, thermal, and power limits
  • Traditional (pstate) offset overclocking
  • GPU Boost 3.0 frequency curve controls (VFP)
  • Import/export to CSV file
  • Voltage lock (single point testing)
  • Don't try the "auto" subcommand
  • Pascal voltage boost

Usage

  • nvoclock info displays information about the capabilities of detected GPUs
  • nvoclock status displays monitoring information about the GPU
  • Use in combination with watch(1) for best results.
  • nvoclock status -a shows some fancy tables!
  • nvoclock set encompasses the usual options to overclock and tweak a GPU. Check -h for all the details.

Global Options

  • -g 0 flag can be used to filter results and operations to a specific GPU
  • -O json prints out information in JSON format to be parsed or handled by automated scripts.
  • set RUST_LOG=trace to get excessive debugging information. You'll probably want to use nvoclock info 2> nvolog.txt to save to a file for later interpretation.

Future Items

Some things can be improved, and since most testing was done with a single pascal GPU there are some missing features for older hardware.

  • Previous generation GPUs need testing/support
  • RPC API + Daemon
  • Controls from another computer so autodetect can detect and survive crashes and full lock-ups.
  • Running on a VFIO host to control a guest GPU would be neat. SSH mostly does this already though.

Out of Scope

nvoclock isn't meant to be an all-encompassing overclocking and monitoring tool. The following features would better belong in a separate project:

  • GUI (nvapi-rs does all the real work and makes it easy to create one though!)
  • AMD GPU support
  • CPU monitoring and/or overclocking
  • Status overlays and game hooks
  • Linux support (nvapi is not available)
  • Software fan curve control (I'll get around to a daemon for this eventually)

Extension points exported contracts — how you extend this code

ConvertEnum (Interface)
(no doc)
src/conv.rs

Core symbols most depended-on inside this repo

warn_result
called by 8
src/main.rs
n_a
called by 6
src/human.rs
parse_bool_match
called by 6
src/types.rs
table_format
called by 5
src/human.rs
select_gpus
called by 5
src/main.rs
export_vfp
called by 4
src/main.rs
requires_set
called by 4
src/main.rs
requires_info
called by 3
src/main.rs

Shape

Function 21
Method 9
Class 3
Enum 2
Interface 1

Languages

Rust100%

Modules by API surface

src/main.rs10 symbols
src/human.rs10 symbols
src/auto.rs10 symbols
src/types.rs4 symbols
src/error.rs1 symbols
src/conv.rs1 symbols

For agents

$ claude mcp add nvoclock \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page