Skip to main content

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_120 architecture 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

boltz_blackwell-0.1.0.tar.gz (11.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

boltz_blackwell-0.1.0-py3-none-any.whl (14.5 kB view details)

Uploaded Python 3

File details

Details for the file boltz_blackwell-0.1.0.tar.gz.

File metadata

  • Download URL: boltz_blackwell-0.1.0.tar.gz
  • Upload date:
  • Size: 11.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for boltz_blackwell-0.1.0.tar.gz
Algorithm Hash digest
SHA256 3c1279277508bc8a1982593bad51692367824c080759f9bce2342dc74ab2b395
MD5 d1a0fef8044f38d1314c453c58ae605b
BLAKE2b-256 79b802b6cdca886301ffd3ba5b727fc8c3ed6ad308a50b3e2cd183d476af3c11

See more details on using hashes here.

Provenance

The following attestation bundles were made for boltz_blackwell-0.1.0.tar.gz:

Publisher: publish.yaml on tmsincomb/boltz-blackwell

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file boltz_blackwell-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for boltz_blackwell-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b74bb33c6168ef68ae2218b5cd446519e0770007cf224867d19ed07456ab868e
MD5 ad1f272ac1e04ab99c8c85c24fd188e9
BLAKE2b-256 275a429543fbe5f5c4d971079d62e5c82905982e0a330c968a429d9787fa2e3d

See more details on using hashes here.

Provenance

The following attestation bundles were made for boltz_blackwell-0.1.0-py3-none-any.whl:

Publisher: publish.yaml on tmsincomb/boltz-blackwell

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page