Skip to main content

BioNeMo Inference Runtime

Easy, fast, and memory-efficient structure prediction inference

GPU-accelerated inference for protein, nucleic-acid, and ligand structure prediction models — from FASTA/MSA to PDB/mmCIF.

Speedup against input size on H100

About

BioNeMo Inference Runtime (BioIR) is NVIDIA's library for structure-prediction inference. A five-stage GPU pipeline turns AlphaFold-lineage and all-atom models into PDB/mmCIF with confidence scores. Models stay ordinary nn.Modules — no TensorRT engine build.

Getting Started

Prerequisites

  • Linux, x86_64 or aarch64, with an NVIDIA GPU. The wheels are manylinux_2_34, so the host needs glibc 2.34 or newer — Ubuntu 22.04, RHEL 9 or later.
  • Driver 580 or newer. The dev image carries a CUDA 13.2 build of PyTorch. An older driver runs it only through the forward-compatibility shim, which we have measured hanging and crashing part-way through a run rather than merely running slowly — results taken on one are discarded, not corrected.
  • Python 3.12. The released wheels are tagged cp312, so pip finds no matching build on a newer interpreter.
  • Docker and the NVIDIA Container Toolkit, to build from source in the dev container. Installing the wheel needs neither.

PyTorch and the CUDA math libraries arrive as wheel dependencies, or in nvcr.io/nvidia/pytorch:26.05-py3 when you use the container. Building the extension from source outside a container needs a C++17 compiler and CUDA headers as well — docs/dev.md.

Release-qualified GPUs

H200, H100, A100, L40S, GB200 and GB300. Measured speedup, memory and accuracy for each: docs/ref/benchmark.md.

BioIR runs on more than these. The support matrix lists every architecture the backend covers and which fused kernels apply to each; those devices work but are not part of this release's qualification.

Install

BioIR is published on PyPI, one wheel per CPU architecture:

pip install bionemo-ir

The wheel ships the kernels precompiled, so nothing in the install builds CUDA and running it needs only the driver's libcuda.so.1. That is the whole install if you are calling BioIR from your own code — the container below is for working on BioIR itself. docs/install.md covers the environment setup and the requirements in full.

Build from source

Configure SSH authentication with GitHub, then clone the repository and fetch its submodules and LFS objects.

git lfs install &&
  GIT_LFS_SKIP_SMUDGE=0 \
    git clone --recurse-submodules \
      git@github.com:NVIDIA-BioNeMo/BioNeMo-Inference-Runtime.git &&
  cd BioNeMo-Inference-Runtime

Then, build the dev image and open a shell in it:

docker/dev.sh

The image carries the dependencies; your checkout is bind-mounted, so install the package once inside and fold something:

pip install -e '.[dev]'
scripts/fetch_weights.sh --model boltz-2
python examples/folding/run_demo.py --output-dir output

Checkpoints come from their upstream publishers and need no NVIDIA credentials; anything that cannot be fetched is skipped, and the tests needing it skip too. Running scripts/run_tests.sh stages weights and runs the suite the way CI does.

Building without a container needs more than a Python environment — see docs/dev.md for the prerequisites and the wheel build. The rest of that page covers daily development; docs/ref/docker-images.md covers the images and what docker/dev.sh mounts.

Documentation

BioIR documentation lives under docs/ and is published with Fern:

Benchmarks

Methodology

Folding benchmarks over a bench set the shipped rebuild_dataset.py builds from RCSB and NVIDIA's MSA Search NIM — there is no dataset release to download. Template-bearing samples included: both sides load every bundled MSA and attach every listed template.

  • One GPU, serial, one structure per forward call.
  • Time only GPU-synchronized model.forward(). Featurization, transfers, postprocessing, writing, and scoring stay outside the window.
  • Discard one warmup forward, then report one measured forward per sample.
  • BioIR runs its default optimized config, with a CUDA graph on the diffusion module where supported.
  • OSS runs its own inference script: eager always, plus torch.compile when it passes a dynamic-shape probe.
  • Runtime knobs match on both sides — 200 sampling steps, 3 or 5 diffusion samples, and per-model recycling.
  • Score written structures with OpenStructure lDDT and DockQ. Speedup is OSS forward / BioIR forward; above 1 favors BioIR.
  • Future work will add additional Blackwell-optimized kernels.

Results

Model H100 H200
Boltz-2 1.78x / 2.65x 1.74x / 2.54x
OpenFold3 1.55x / 2.02x 1.54x / 2.03x
OpenFold2 / AlphaFold2 monomer 2.55x / 2.60x 2.61x / 2.66x
OpenFold2 / AlphaFold2 multimer 2.66x / 2.77x 2.61x / 2.75x
Protenix — / 1.87x — / 1.84x

Geomean speedup, vs OSS torch.compile / vs OSS PyTorch eager; above 1 favours BioIR. Protenix has no torch.compile path. Fourteen GPUs, per-model accuracy and peak memory, and how to reproduce any of it: docs/ref/benchmark.md.

The bench-perf-oss agent skill has the full gates, environment isolation, result schema, and charting protocol.

Contributing

We welcome contributions. See contributing.md for policy and docs/dev.md for the development workflow.

Citation

If you use BioIR in your research, please cite it via CITATION.cff.

Contact / Support

License

NVIDIA-authored BioIR code is licensed under the Apache License 2.0. Distribution compliance material is available here:

Metadata

Release files for bionemo-ir 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distributions (wheels)

Table of built distributions (wheels) for bionemo-ir 0.1.1
File Interpreter ABI Platform
bionemo_ir-0.1.1-cp312-cp312-manylinux_2_34_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.34+ x86-64 Details
bionemo_ir-0.1.1-cp312-cp312-manylinux_2_34_aarch64.whl CPython 3.12 CPython 3.12 Linux glibc 2.34+ ARM64 Details

Total release size: 56.7 MB

Release files / bionemo_ir-0.1.1-cp312-cp312-manylinux_2_34_x86_64.whl

Download URL bionemo_ir-0.1.1-cp312-cp312-manylinux_2_34_x86_64.whl
Size 28.3 MB
Tags CPython 3.12 Linux glibc 2.34+ x86-64
SHA-256 checksum
How to use checksums
b48eafdac594ee5f593b8b9f9e377b8cb1095cdd56430b0eadde29241cb28f44
BLAKE2b-256 checksum
How to use checksums
6ca62bdffef36d98418f6719cf54be9a11007ee98eb0c2a95a54f9da494b6f58
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.7

Release files / bionemo_ir-0.1.1-cp312-cp312-manylinux_2_34_aarch64.whl

Download URL bionemo_ir-0.1.1-cp312-cp312-manylinux_2_34_aarch64.whl
Size 28.3 MB
Tags CPython 3.12 Linux glibc 2.34+ ARM64
SHA-256 checksum
How to use checksums
cfc3e153898432e7ced9d667a8995dd7d809e91cfc84256926f9d5edfbb53c79
BLAKE2b-256 checksum
How to use checksums
d517f08c533dc285e7b8dddadc8ee2e3071f84d10e16abd47cf1459fcf204e71
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.7

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page