Skip to navigation

Performance

View as Markdown

NVIDIA has greatly optimized the DiffDock inference workflow to improve its performance by optimized CUDA kernels to accelerate the 3D-equivariant graph neural networks and other critical operations in the model.

Accuracy Benchmarks

The DiffDock NIM model (v2.2) has been trained on an expanded dataset that combines the PLINDER dataset with the SAIR (Structurally-Augmented IC50 Repository) dataset. The SAIR dataset augments training with synthetically generated protein-ligand interactions, resulting in improved docking accuracy.

The accuracy benchmarks below compare docking performance across different model versions on H100 GPU:

  • Baseline: DiffDock GitHub v1.0
  • v2.1: DiffDock NIM trained on PLINDER dataset
  • v2.2: DiffDock NIM trained on PLINDER + SAIR datasets

Table 1: RMSD-based Success Rate (%) on H100

MetricBaselinev2.1v2.2Improvement vs BaselineImprovement vs v2.1
Top-1 (RMSD < 2Å)30.00%47.53%50.59%+20.59%+3.06%
Top-5 (RMSD < 2Å)36.00%56.47%58.35%+22.35%+1.88%

Table 2: Docking Rate Success (%) on H100

MetricBaselinev2.1v2.2Improvement vs BaselineImprovement vs v2.1
Top-1 DR53.90%71.53%72.47%+18.57%+0.94%
Top-5 DR63.80%78.82%81.18%+17.38%+2.36%

The expanded training dataset with SAIR simulated data provides consistent accuracy improvements across all metrics compared to the previous version trained on PLINDER alone.

Speed Benchmarks

Speed benchmarks of running the NVIDIA optimized DiffDock NIM compared to the baseline software on different GPU models are displayed in Figure 1 and Table 3. The baseline software used here is the GitHub v1.0 version. The performance metrics are measured by time cost of running 92 docking inference tasks, each of which is set to generate 10 poses with other runtime parameters are set as default values. More details about the hardware platform and the benchmark dataset can be found in the next two sections.

Benchmarks

Figure 1

Table 3: Speed Benchmarks

GPUBaselineNV OptimizedSpeedup
RTX A6000 48GB0.3742.8527.6X
A100 80GB PCIe0.7404.0235.4X
L40S 48GB0.6914.4856.5X
H100 80GB PCIe0.9325.2265.6X
H100 80GB SXM5 HBM31.0976.8356.2X

Benchmark Hardware

The full hardware specifications and OS to generate the benchmarks are listed below:

GPUCPUCPU-Memory
RTX A6000 48GBIntel(R) Xeon(R) Silver 4208 8-Core CPU @ 2.10GHzSamsung DDR4 2666MHz 16GB x 4
A100 80GB PCIeAMD EPYC 7232P 8-Core Processor @ 3.10GHzSamsung DDR4 3200MHz 32GB x 4
L40S 48GBAMD EPYC 7313P 16-Core Processor @ 3.00GHzMicron DDR4 3200MHz 32GB x 4
H100 80GB PCIeAMD EPYC 7232P 8-Core Processor @ 3.10GHzSamsung DDR4 3200MHz 32GB x 4
H100 80GB SXM5 HBM3Intel(R) Xeon(R) Silver 4314 16-Core CPU @ 2.40GHzSamsung DDR4 3200MHz 32GB x 8

All systems are installed with Ubuntu 22.04 LTS operating systems.

Benchmark Data

The 92 protein-ligand complex systems are selected as a sub-group to the PoseBusters dataset, which is a research work published here. The full data set can be downloaded from Zenodo.

The complex IDs for the 92 systems are below:

7ORW_7WA 8DW5_FQ7 7QF4_RBF 8EAD_UY0 7JGW_V9S 7JMV_4NC 7W6F_8I6 7T2I_E9F 7L81_UD4
7RWS_4UR 7MMH_ZJY 8CGC_LMR 5SAK_ZRY 7MGT_ZD4 7ELT_TYM 7NR8_UOE 7U0U_FK5 7RZL_NPO
8C5M_MTA 7JR8_VH7 7LMO_NYO 7PT3_3KK 8E77_ULP 7THI_PGA 7NFB_GEN 7KP6_WTP 7NF3_4LU
7UMW_NAD 7F8T_FAD 7C8Q_DSG 6ZK5_IMH 7M6K_YRJ 8SLG_G5A 8FV9_80J 7L00_XCJ 7MSR_DCA
6TW5_9M2 6XHT_V2V 7BMI_U4B 7C0U_FGO 7DUA_HJ0 7E2S_BLA 7FB7_8NF 7FRX_O88 7KFO_IAC
7KLX_WOV 7KQU_YOF 7KZ9_XN7 7LJN_GTP 7M31_TDR 7M3H_YPV 7MAE_XUS 7MFP_Z7P 7NF0_BYN
7NXO_UU8 7OP9_06K 7OU8_1XI 7POM_7VZ 7QHL_D5P 7QSW_CAP 7R3D_APR 7R6J_2I7 7R9N_F97
7SDD_4IP 7SUC_COM 7T0U_E3I 7T1D_E7K 7T3F_EM0 7T9O_GEI 7TB0_UD1 7TOM_5AD 7TS6_KMI
7TSF_H4B 7U3J_L6U 7UAS_MBU 7UJ4_OQ4 7UJ5_DGL 7UY4_SMI 7VKZ_NOJ 7WJB_BGC 7WUX_6OI
7XRL_FWK 7ZCC_OGA 7ZDY_6MJ 7ZXV_45D 7ZXZ_K9R 8AQL_PLG 8B8H_OJQ 8CI0_8EL 8D5D_5DK
8FLV_ZB9 8G0V_YHT