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.2.tar.gz (14.0 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.2-py3-none-any.whl (18.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: boltz_blackwell-0.1.2.tar.gz
  • Upload date:
  • Size: 14.0 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.2.tar.gz
Algorithm Hash digest
SHA256 93bd7de7aeef7e59b80a83f829c4373e5d6f8d1b87ac4ded7b884e850f72db0b
MD5 2c270d9ccba16bad922b60ee33dad87d
BLAKE2b-256 eb72ca7c51dda21c6ff60e14db77eef44c24d0435c1f3784334c670c9c188362

See more details on using hashes here.

Provenance

The following attestation bundles were made for boltz_blackwell-0.1.2.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.2-py3-none-any.whl.

File metadata

File hashes

Hashes for boltz_blackwell-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 b18916db24bda3268404633e3a6f040618f221c229a006783a8988dec2b1f29d
MD5 733389c93afd552f59b6793c505119e7
BLAKE2b-256 ba60fd9b23431eea6f973b0e185e42b9c2726656ad8d8fa6271526f45387ec04

See more details on using hashes here.

Provenance

The following attestation bundles were made for boltz_blackwell-0.1.2-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