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:

Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

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

bionemo_ir-0.1.0-cp312-cp312-manylinux_2_34_x86_64.whl (11.7 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.34+ x86-64

bionemo_ir-0.1.0-cp312-cp312-manylinux_2_34_aarch64.whl (11.7 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.34+ ARM64

File details

Details for the file bionemo_ir-0.1.0-cp312-cp312-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for bionemo_ir-0.1.0-cp312-cp312-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 ebbfe2808a9a56ad9838a81f887000b89a7554d674bb7a9eac130c7cf2c4e8ae
MD5 564c712ed364cc65068b886981baf176
BLAKE2b-256 0d8b177e2891d590ec71dc45033083a42186c969bb60050b1132fe852b2a418a

See more details on using hashes here.

File details

Details for the file bionemo_ir-0.1.0-cp312-cp312-manylinux_2_34_aarch64.whl.

File metadata

File hashes

Hashes for bionemo_ir-0.1.0-cp312-cp312-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 ce8de7dadc05d2e2789dcbd0ab08c0ad09b5b6a0af5619e8084858a57bf531c0
MD5 767cad1998ae11bf70b6e75d35b1a663
BLAKE2b-256 d0adb3ad49294210a0d2b7f95cba85976d428a7b7efdd5008d2a32163c9c71a9

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 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