Skip to navigation

Performance

View as Markdown

Version 2.4.0

This section reports OpenFold2 v2.4.0 performance using internal benchmark artifacts.

The benchmark set contains four protein chains:

Test IDSeq Length
7WBN_A98
7ONG_A304
7ZHT_A562
7Y4I_A914

Benchmark Configuration

ParameterSetting
selected_models[1,2,3,4,5]
num_trials2

Table 1: Performance Across the Supported NVIDIA Hardware Units

The table below reports pipeline_time_mean (seconds) with TensorRT backend and no structural templates.

Hardware7WBN_A (98)7ONG_A (304)7ZHT_A (562)7Y4I_A (914)
NVIDIA A100 80GB7.0834.1673.82171.75
NVIDIA B2005.6822.5648.49104.95
NVIDIA H100 80GB HBM34.6020.0342.6697.04
NVIDIA GB2007.1518.1639.9383.19
NVIDIA H2004.3516.2037.6085.28
NVIDIA L40S12.6736.4081.56183.18
NVIDIA GB10 (DGX Spark)29.70137.10402.871131.11
NVIDIA RTX 6000 Ada11.2833.5680.64187.23
NVIDIA RTX PRO 6000 Blackwell5.6827.5966.81154.09
NVIDIA GH2005.6313.8129.6569.50

Table 2: Performance Across Optimization Backends

The table below compares H100 performance between PyTorch and TensorRT backends without structural templates.

Test IDSeq Lengthtorch (s)trt (s)trt-speedup-over-torch
7WBN_A9829.744.606.47x
7ONG_A30453.3420.032.66x
7ZHT_A56298.3842.662.31x
7Y4I_A914199.9997.042.06x

Table 3: Performance Impact From Structural Templates

The table below reports H100 TensorRT performance with and without structural templates.

Test IDSeq LengthWithout structural templates (s)With structural templates (s)
7WBN_A984.605.29
7ONG_A30420.0319.53
7ZHT_A56242.6643.06
7Y4I_A91497.0497.77

Version 2.3.0

Version 2.3.0 adds support for GB10 (DGX Spark) GPU architecture with optimized performance for this platform.

Performance on GB10 (DGX Spark)

Below are benchmark times, measured for each input chain, in sequential execution on a single NVIDIA GB10 (DGX Spark) device.

protein chain idmetric7WBN_A7ONG_A7ZHT_A7Y4I_A
sequence lengthsequence length98304562914
Version 2.3.0pipeline_time46.51170.78441.021079.12
Version 2.3.0pipeline_time_per_model9.3034.1688.20215.82

*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.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.

For detailed performance comparisons and benchmarks, see the Version 2.0.0 section below.

Version 2.0.0

Compared to Version 1.0.0, Version 2.0.0

Performance and Accuracy

  • Faster startup: Reduced initialization time due to removal of large template database loading (~300GB)
  • Enhanced GPU support: TensorRT optimization for L40S, B200, and RTX 6000 Ada Generation
  • Reduced storage footprint: Container and cache requirements significantly reduced (from 380GB to 80GB total)

Performance Comparison (Time in seconds) on H100

  • Below are benchmark times, measured for each input chain, in sequential execution on a single NVIDIA H100 80GB HBM3 device.
protein chain idmetric7WBN_A7ONG_A7ZHT_A7Y4I_A
sequence lengthsequence length98304562914
Version 1.0.0pipeline_time26.650.998.2205.9
Version 1.0.0pipeline_time_per_model5.310.219.641.2
Version 2.0.0pipeline_time4.9219.444.9113
Version 2.0.0pipeline_time_per_model0.9843.908.9922.6
Version 2.0.0speed-up vs 1.0.05.4x2.6x2.2x1.8x

*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

MetricVersion 1.0.0Version 2.0.0
CADS0.7440.740
LDDT0.8610.860
STRIDE4.244.24
MP0.8820.878

Version 1.0.0

Performance will also vary 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 will vary from these values.

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.
protein chain id7WBN_A7ONG_A7ZHT_A7Y4I_A
sequence length98304562914
pipeline_time*26.650.998.2205.9
pipeline_time_per_model**5.310.219.641.2

*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

Version 1.0.0 Configuration

algo feature / parametersetting
use_templatesFalse
selected_models[1,2,3,4,5]
relax_predictionFalse
deepspeed evoformer kernelactive
precision for deepspeed evoformer kernelbf16
precision for the rest of the modelfp32