Easy installation and utilities for running Boltz on NVIDIA Blackwell GPUs
Project description
Boltz for Blackwell GPUs
Installation and testing scripts for running Boltz biomolecular structure prediction on NVIDIA Blackwell architecture GPUs (compute capability 12.1).
Supported Hardware
- NVIDIA GB10 (DGX Spark)
- NVIDIA GB100 (B100)
- NVIDIA GB200 (B200)
- Other Blackwell architecture GPUs with compute capability 12.1
The Problem
Standard PyTorch releases don't support Blackwell GPUs (sm_121) yet. This causes:
nvrtc: error: invalid value for --gpu-architecture (-arch)during runtime kernel compilation- cuEquivariance kernel failures
The Solution
Use PyTorch nightly with CUDA 13.0 which includes:
sm_120architecture support with forward compatibility to sm_121- Updated nvrtc that handles Blackwell GPUs
Run Boltz with --no_kernels flag to disable cuEquivariance kernels.
Quick Start (PyPI)
The easiest way to get started:
# Install boltz-blackwell from PyPI
pip install boltz-blackwell
# Install PyTorch nightly + Boltz with one command
boltz-blackwell install
# Verify everything is working
boltz-blackwell check
# Run a prediction (--no_kernels is automatic)
boltz-blackwell predict input.yaml --output results/
Installation from Source
# Clone this repo
git clone https://github.com/tmsincomb/boltz-blackwell.git
cd boltz-blackwell
# Install the package
pip install -e .
# Install PyTorch and Boltz
boltz-blackwell install
# Or use the shell script
./install.sh
Manual Installation
If you prefer to install manually:
# 1. Install PyTorch nightly with CUDA 13.0
pip install --pre torch torchvision torchaudio --index-url https://download.pytorch.org/whl/nightly/cu130
# 2. Install Boltz
pip install boltz[cuda] -U
# 3. Verify installation
python -c "import torch; print('CUDA:', torch.version.cuda); print('Arch:', torch.cuda.get_arch_list())"
Usage
Using boltz-blackwell CLI (Recommended)
The boltz-blackwell CLI automatically adds the --no_kernels flag:
# Basic prediction
boltz-blackwell predict input.yaml
# Fast mode (quick test)
boltz-blackwell predict input.yaml --fast
# High quality mode
boltz-blackwell predict input.yaml --high-quality
# Custom settings
boltz-blackwell predict input.yaml --samples 3 --steps 100 --output results/
# With MSA server (best accuracy, requires internet)
boltz-blackwell predict input.yaml --use-msa-server
Using boltz directly
# Single-sequence mode (fully local, fast but lower accuracy)
boltz predict input.yaml --out_dir output/ --no_kernels
High-Quality Prediction
# More samples and steps (slower, better quality)
boltz predict input.yaml --out_dir output/ --no_kernels \
--diffusion_samples 5 \
--recycling_steps 3 \
--sampling_steps 200
With MSA (Best Accuracy)
For best accuracy, provide a pre-computed MSA or use the ColabFold server:
# With MSA server (requires internet)
boltz predict input.yaml --out_dir output/ --no_kernels --use_msa_server
Input Format
Create a YAML file describing your protein/complex:
version: 1
sequences:
- protein:
id: A
sequence: GIVEQCCTSICSLYQLENYCN
msa: empty # Use 'empty' for single-sequence mode
See examples/ for more input file examples.
Key Flags for Blackwell GPUs
| Flag | Required | Description |
|---|---|---|
--no_kernels |
Yes | Disables cuEquivariance kernels (required for sm_121) |
--diffusion_samples N |
No | Number of structure samples (default: 1) |
--recycling_steps N |
No | Number of recycling iterations (default: 3) |
--sampling_steps N |
No | Number of diffusion steps (default: 200) |
Benchmarks
Tested on NVIDIA GB10 (DGX Spark):
| Configuration | Speed | Notes |
|---|---|---|
| CUDA 12.8 | ❌ | JIT compilation fails |
| CUDA 12.9 | 0.40 it/s | Works |
| CUDA 13.0 | 0.67 it/s | Recommended |
Troubleshooting
"nvrtc: error: invalid value for --gpu-architecture"
Your PyTorch doesn't support Blackwell GPUs. Install the CUDA 13.0 nightly:
pip install --pre torch torchvision torchaudio --index-url https://download.pytorch.org/whl/nightly/cu130
"no kernel image is available for execution on the device"
Same issue - need PyTorch with sm_120/sm_121 support.
"CUDA error: no kernel image is available"
Make sure you're using --no_kernels flag with boltz.
cuEquivariance errors
The cuEquivariance library doesn't support sm_121 yet. Always use --no_kernels.
Requirements
- Python 3.10+
- NVIDIA Blackwell GPU (compute capability 12.1)
- CUDA 13.0+ drivers
- ~16GB GPU memory for small proteins
- ~40GB+ GPU memory for larger complexes
License
This installation guide is MIT licensed. Boltz itself is under MIT License.
References
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file boltz_blackwell-0.1.1.tar.gz.
File metadata
- Download URL: boltz_blackwell-0.1.1.tar.gz
- Upload date:
- Size: 13.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c53dde82a0cb511a8c25b6c8caf9d48f30dc4c56993ef148ef49326203975c7c
|
|
| MD5 |
2de275e253217134d2a67dc5acf33329
|
|
| BLAKE2b-256 |
e90d81985af1ef9c588b58c47e828ea9bb69e5c192cfbb3b3b8912cbc9cac595
|
Provenance
The following attestation bundles were made for boltz_blackwell-0.1.1.tar.gz:
Publisher:
publish.yaml on tmsincomb/boltz-blackwell
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
boltz_blackwell-0.1.1.tar.gz -
Subject digest:
c53dde82a0cb511a8c25b6c8caf9d48f30dc4c56993ef148ef49326203975c7c - Sigstore transparency entry: 729981186
- Sigstore integration time:
-
Permalink:
tmsincomb/boltz-blackwell@0d41dd8d81f89cd9310ef6806171cc11b67e4439 -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/tmsincomb
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yaml@0d41dd8d81f89cd9310ef6806171cc11b67e4439 -
Trigger Event:
release
-
Statement type:
File details
Details for the file boltz_blackwell-0.1.1-py3-none-any.whl.
File metadata
- Download URL: boltz_blackwell-0.1.1-py3-none-any.whl
- Upload date:
- Size: 17.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a2e76833ff8a99649eac54d67f7781be4c7b43bb5698728b479ec8e527a7311a
|
|
| MD5 |
50973be06f40df0199caaff97cb45136
|
|
| BLAKE2b-256 |
948aed2807e8c8881c34ddce285161800f9871c8c58eb8b27f0fb388cd0c258f
|
Provenance
The following attestation bundles were made for boltz_blackwell-0.1.1-py3-none-any.whl:
Publisher:
publish.yaml on tmsincomb/boltz-blackwell
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
boltz_blackwell-0.1.1-py3-none-any.whl -
Subject digest:
a2e76833ff8a99649eac54d67f7781be4c7b43bb5698728b479ec8e527a7311a - Sigstore transparency entry: 729981194
- Sigstore integration time:
-
Permalink:
tmsincomb/boltz-blackwell@0d41dd8d81f89cd9310ef6806171cc11b67e4439 -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/tmsincomb
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yaml@0d41dd8d81f89cd9310ef6806171cc11b67e4439 -
Trigger Event:
release
-
Statement type: