Performance
Version 2.6.0
This section reports OpenFold2 v2.6.0 performance and accuracy, measured across all 18 supported SKUs with a performance and an accuracy run on each.
The benchmark set changed in this release. Earlier sections use four protein chains (7WBN_A, 7ONG_A, 7ZHT_A, 7Y4I_A) measured by the previous benchmark client. v2.6.0 uses a 15-case set spanning 81 to 1596 residues, drawn from CASP15 and the PDB, and scored against experimental structures. Numbers in this section are therefore not directly comparable with those in the following sections, and no speedup-versus-2.5.0 column is given for that reason.
Benchmark Configuration
Performance and Accuracy on H100
Measured on NVIDIA H100 80GB HBM3. predict_time is the end-to-end request
time for a single parameter set with no structural templates.
lddt measures agreement with the experimental structure, and low values are a
property of the target rather than of the NIM: T1125 (0.333) and T1154 (0.366)
are CASP15 targets that are hard to predict from sequence. Read the accuracy
column per target, not as an average.
Performance Analysis
Key Observations:
- Scaling behavior: Runtime tracks sequence length across the measured range, from ~5 seconds at 81-120 residues to ~193 seconds at 1596 residues on H100.
- Hardware range: Taking the H100 80GB HBM3 mean as 1.00x, GH200 is fastest at 0.81x, with GB300, GB200 and H200 at 0.90-0.92x and H200 NVL at 0.99x. B200 (1.04x), H100 NVL (1.11x) and B300 (1.17x) follow, then the RTX PRO 6000 Blackwell parts at 1.26-1.29x and H100 80GB PCIe at 1.42x. A100-class parts take 1.56-1.68x, L40S 1.83x and RTX 6000 Ada 2.11x. GB10 (DGX Spark) is 9.24x, which reflects its LPDDR5x unified memory rather than a configuration problem.
- Short sequences: Below roughly 120 residues, runtime is close to flat (5.07-5.46 seconds on H100) because fixed per-request cost dominates the model itself.
Recommended Configuration:
- For sequences beyond ~1,200 residues, prefer 80 GB-class or larger GPUs.
- GB10 (DGX Spark) completes the full range including 1596 residues, but at substantially longer runtimes; size expectations accordingly.
Table 1: Performance and Accuracy Across the Supported NVIDIA Hardware Units
One tab per SKU. Each shows all 15 benchmark cases sorted by sequence length,
with the end-to-end predict_time and the lddt scored against the
experimental structure. Mean is the average across the 15 cases.
NVIDIA H100 80GB HBM3
NVIDIA H100 NVL
NVIDIA H100 80GB PCIe
NVIDIA H200
NVIDIA H200 NVL
NVIDIA B200
NVIDIA B300
NVIDIA GB200
NVIDIA GB300
NVIDIA GH200 144GB
NVIDIA A100-SXM4-80GB
NVIDIA A100 80GB PCIe
NVIDIA A100 40GB PCIe
NVIDIA L40S
NVIDIA RTX PRO 6000 Blackwell Server Edition
NVIDIA RTX PRO 6000 Blackwell Workstation Edition
NVIDIA RTX 6000 Ada Generation
NVIDIA GB10 (DGX Spark)
Version 2.5.0
This section reports OpenFold2 v2.5.0 performance using internal benchmark artifacts. v2.5.0 adds support for NVIDIA B300 and GB300 GPUs.
Benchmark Configuration
The benchmark set is the same four protein chains used in earlier releases:
Table 1: Performance Across the Supported NVIDIA Hardware Units
The table below reports pipeline_time_mean (seconds) without structural templates. The vs 2.4.0 column is the ratio of v2.4.0 total time to v2.5.0 total time across all four benchmark chains; values above 1.0× indicate faster execution in v2.5.0. B300 and GB300 are new in this release and have no prior baseline.
Performance Optimization Tips
- GPU Selection: H100, H200, B200, B300, GB200, and GB300 GPUs deliver the best end-to-end latency for OpenFold2. A100, GH200, RTX PRO 6000 Blackwell, and L40S GPUs are also fully supported.
- Sequence Length: The NIM supports sequences from 4 to 2048 residues on a single GPU (1536 on GB10 DGX Spark). Pipeline time scales with sequence length.
- Structural Templates: Templates add modest overhead (~1–10 s) and can improve prediction accuracy. Refer to Template Processing for guidance.
- Memory Management: Ensure adequate GPU memory for your target sequence lengths. Sequences longer than ~1,800 residues benefit from 80 GB-class or larger GPUs (A100 80GB, H100, H200, B200, B300, GB200, GB300).
Version 2.4.0
This section reports OpenFold2 v2.4.0 performance using internal benchmark artifacts.
The benchmark set contains four protein chains:
Benchmark Configuration
Table 1: Performance Across the Supported NVIDIA Hardware Units
The table below reports pipeline_time_mean (seconds) with TensorRT backend and no structural templates.
Table 2: Performance Across Optimization Backends
The table below compares H100 performance between PyTorch and TensorRT backends without structural templates.
Table 3: Performance Impact From Structural Templates
The table below reports H100 TensorRT performance with and without structural templates.
Version 2.3.0
Version 2.3.0 adds support for GB10 (DGX Spark) GPU architecture with optimized performance for this platform.
Performance on DGX Spark GB10
Below are benchmark times, measured for each input chain, in sequential execution on a single NVIDIA GB10 (DGX Spark) device.
*pipeline_time is defined as the time to load parameter sets, compute features, and the sum of the time to complete the forward pass for each model in [model_1, model_2, model_3, model_4, model_5]
**pipeline_time divided by 5
Accuracy on GB10
Accuracy metrics for GB10 (DGX Spark) remain consistent with other supported GPU architectures. For detailed accuracy benchmarks, refer to the Accuracy Metrics in the Version 2.0.0 section below.
For performance benchmarks on other GPU architectures, refer to the Version 2.0.0 section below.
Version 2.2.0
Version 2.2.0 maintains the same performance characteristics as Version 2.1.0. All performance benchmarks and accuracy metrics from Version 2.1.0 apply to Version 2.2.0.
Version 2.1.0
Version 2.1.0 maintains the same performance characteristics as Version 2.0.0. All performance benchmarks and accuracy metrics from Version 2.0.0 apply to Version 2.1.0.
For detailed performance comparisons and benchmarks, refer to the Version 2.0.0 section.
Version 2.0.0
Compared to Version 1.0.0, Version 2.0.0:
- Removes HHR-based template processing.
- Adds TensorRT support for a wide set of GPU architectures. Refer to the Release Notes.
- Adds support for
explicit_templates. Refer to Migrate from HHR-Based Templates to Explicit mmCIF Templates.
Performance and Accuracy
- Faster startup: Reduced initialization time due to removal of large template database loading (~300 GB)
- Enhanced GPU support: TensorRT optimization for L40S, B200, and RTX 6000 Ada Generation
- Reduced storage footprint: Container and cache requirements significantly reduced (from 380 GB to 80 GB total)
Performance Comparison on H100
- Below are benchmark times, in seconds, measured for each input chain, in sequential execution on a single NVIDIA H100 80GB HBM3 device.
*pipeline_time is defined as the time to load parameter sets, compute features, and the sum of the time to complete the forward pass for each model in [model_1, model_2, model_3, model_4, model_5]
**pipeline_time divided by 5
Accuracy Metrics on H100
Version 1.0.0
Performance also varies significantly depending on:
- The type of NVIDIA GPUs that are attached and available to the NIM
- The CPU type
- System RAM available
The following section details some performance expectations and provides general tips. These are not meant to be indicative of expected performance and performance on your system varies from these values.
Recommended System Requirements
- Refer to Supported Hardware for requirements.
Performance Benchmarks
The following are performance benchmarks for OpenFold2 version 1.0.0.
- Structure prediction performance is mostly dependent on GPU capability and memory. If you find structure prediction to be a bottleneck, consider using a higher memory device.
- The time required for structure prediction grows with sequence length.
- The time required for structure prediction grows with the total number of sequences in the alignments.
- Below are benchmark times, measured for each input chain, in sequential execution on a single NVIDIA H100 80GB HBM3 device.
- The average value of LDDT-CA, for these protein chains, averaged over 2 runs, is 0.86.
*pipeline_time is defined as the time to load parameter sets, compute features, and the sum of the time to complete the forward pass for each model in [model_1, model_2, model_3, model_4, model_5]
**pipeline_time divided by 5