rigsolve¶
Offline-first compatibility resolution for PyTorch, CUDA, and native GPU extensions.
rigsolve detects a machine without importing torch, evaluates driver, CUDA, GPU, Python, PyTorch, and native-extension constraints together, and produces a sourced installation or repair plan.
See what it returns¶
Give rigsolve a package and a target machine. It prints a reviewable plan and keeps evidence limits in the output; it does not install anything unless you explicitly pass --execute.
$ rigsolve solve \
--want 'flash-attn==2.8.3' \
--target 'RTX 4090,driver=580.65,python=3.12,linux'
# Generated by rigsolve; review before running.
# Matrix 2026.08.15 (1e066bd53f01); evidence: metadata-backed.
# WARNING: flash-attn's wheel filename does not establish GPU kernel coverage for sm_89
python -m pip install --index-url https://download.pytorch.org/whl/cu126 torch==2.9.0
python -m pip install 'https://github.com/Dao-AILab/flash-attention/releases/download/v2.8.3/flash_attn-2.8.3%2Bcu12torch2.9cxx11abiTRUE-cp312-cp312-linux_x86_64.whl#sha256=4e2f9e39313266b1544b68138b15b91ee6221eccf14f7902b7c6620351340810'
What rigsolve provides¶
Resolve driver, CUDA, GPU architecture, Python, torch, extension, and ABI constraints as one system.
Render pip, uv, TOML, Docker, JSON, or Colab output without installing anything by default.
Trace matrix facts to their source, date, and evidence level. Unknown combinations remain unknown.
Run crash-isolated imports and available GPU probes after installation.
Quick start¶
$ python -m pip install rigsolve
$ rigsolve detect
$ rigsolve solve \
--want 'flash-attn==2.8.3' \
--target 'RTX 4090,driver=580.65,python=3.12,linux'
Detection does not import torch. Solving prints a plan for review and does not install packages unless --execute is supplied.
Important
rigsolve reports what its evidence supports. An unrecorded combination remains unknown. A successful solve is not a guarantee that every workload will run.
Choose the right section¶
If you want to |
Start here |
|---|---|
Install the CLI |
|
Resolve your first GPU stack |
|
Describe another machine |
|
Diagnose an installed environment |
|
Review output formats |
|
Understand evidence and limits |
|
Use the Python package |
|
Diagnose unexpected behavior |
Scope¶
rigsolve focuses on Linux x86_64 systems with NVIDIA CUDA GPUs. It resolves and explains compatibility using recorded evidence. It does not replace package installers, benchmark workloads, guarantee unrecorded combinations, or install a plan without explicit execution.
Documentation map¶
Getting started
User guide
Reference
Project
- Troubleshooting
rigsolveis not foundnvidia-smiis missing- The CUDA value differs from
nvcc - A request is unsatisfiable
- The plan uses an unexpected torch index
checkreports unknown axesverifytimes out or crashes--executeis rejected- A lockfile is rejected
- A cached matrix causes unexpected results
- Read the traceback for an internal error
- Report a reproducible problem
- Frequently asked questions
- Does rigsolve install packages automatically?
- Does a successful solve guarantee my training job will run?
- Why can a plan use derived evidence?
- Is evidence level 3 always better than level 0?
- Why does rigsolve say unknown instead of compatible?
- Does rigsolve need an installed CUDA toolkit?
- Is the CUDA version in
nvidia-smimy toolkit version? - Does rigsolve import torch during detection?
- Can I resolve for a machine I do not own?
- Does rigsolve support Windows, macOS, ROCm, or Apple Silicon GPU stacks?
- Does rigsolve support Conda output?
- Why are source builds disabled?
- Can I use a custom compatibility matrix?
- Does
matrix updaterun automatically? - Does rigsolve collect telemetry?
- How do I cite rigsolve?
- Contributing
- Harvesting upstream facts
- Publish on Read the Docs
- Release and deployment runbook
- Release notes
- Security