Published August 4, 2026 | Version v9

SparkleDock: For AD/AE

Authors/Creators

Description

SparkleDock: Scalable High-Fidelity Macromolecular Docking for GPU-Accelerated Supercomputers(AE)

Overview

SparkleDock is a GPU-native Glowworm Swarm Optimization (GSO) docking system, enabling large-scale flexible macromolecule docking. It supports:

  • A fine-grained, glowworm-level parallelization to match the SM in GPU.

  • TensorCore-accelerated CUDA kernel design to enhance the computing efficiency.

  • Efficient MPI design to adaptively scale across multi-GPU systems.

SparkleDock can accelerate the macromolecule docking by over two orders of magnitude compared to the existing flexible macromolecule docking.

Install SparkleDock

Requirements

software requirements

openmpi/4.1.5
cuda/11.8.0
gcc/11.3.0
cmake/3.16.5

Hardware requirements

NVIDIA GPU or multi-GPU supercomputers.

Benchmark dataset

The table below shows the benchmark dataset from The Protein-Protein Benchmark 5 and Affinity Benchmark Version 2 (BM5). The Category denotes the macromolecule type: antibody-antigen (A); enzyme–inhibitor (EI); enzyme–substrate (ES); enzyme complex with a regulatory or accessory chain (ER); others, G-protein containing (OG); others, receptor containing (OR); others, miscellaneous (OX). The Swarms denotes the calculated swarm number by GSO. The Rec Atoms and Lig Atoms denote the backbone atom number.

Complex Category Swarms Rec Atoms Lig Atoms
2VXT A 402 3002 1274
3VLB EI 336 3052 1658
2A1A ES 271 2039 1440
2GTP OG 298 2516 1061
2X9A OR 130 757 481
1RKE OX 294 2030 1256
3LVK ER 620 6143 633
4GAM ER 1245 17307 1125
4JCV OX 695 6032 1766
4LW4 ES 558 6058 1138

Build the SparkleDock

Here is the build script 

cmake -S source -B build
cmake --build build --parallel 8 --verbose
cmake --install build

We also provide a build script, as shown in build.sh.

Execute the SparkleDock

Single GPU execution

Here is an example of the docking on a single GPU.

#!/bin/bash
dock_home=`pwd`
if [ -z $dock_home ]
then
    echo "not found envoriment variable : dock_home"
fi
set -ex
declare -a stringArray
stringArray=("4LW4" "2VXT" "1RKE" "2A1A" "2GTP" "2X9A" "3LVK" "3VLB" "4GAM" "4JCV")
HOME=$dock_home/bm/
STEPS=100
export LD_LIBRARY_PATH=$dock_home/lib:$LD_LIBRARY_PATH
export NUM_THREADS=32
export USE_CUDA=1
for str in "${stringArray[@]}"; do

echo "prepare $str" >> ${HOME}measure.txt

COMPLEX=$str

echo ${HOME}${COMPLEX}
cd ${HOME}${COMPLEX}

mpirun -np 1 $dock_home/bin/sparkledock -f setup.json -s $STEPS -l 1 >> ${HOME}measure.txt

done
 

multi-GPU execution

Here is an example of the SparkleDock on multi-GPUs. {NPROC} denotes the number of GPUs in a single node.

#!/bin/bash
dock_home=`pwd`
if [ -z $dock_home ]
then
    echo "not found envoriment variable : dock_home"
fi
set -ex
declare -a stringArray
stringArray=("4LW4" "2VXT" "1RKE" "2A1A" "2GTP" "2X9A" "3LVK" "3VLB" "4GAM" "4JCV")
HOME=$dock_home/bm/
STEPS=100
export LD_LIBRARY_PATH=$dock_home/lib:$LD_LIBRARY_PATH
export NUM_THREADS=32
export USE_CUDA=1
for str in "${stringArray[@]}"; do
echo "prepare $str" >> ${HOME}measure.txt

COMPLEX=$str

echo ${HOME}${COMPLEX}
cd ${HOME}${COMPLEX}
# # Setup
rm -rf lightdock* init/ swarm_*

mpirun -np ${NPROC} $dock_home/bin/sparkledock -f setup.json -s $STEPS -l 1 >> ${HOME}measure.txt

done

load balance evaluation

Here is the load balance evaluation.

#!/bin/bash
dock_home=`pwd`
if [ -z $dock_home ]
then
    echo "not found envoriment variable : dock_home"
fi
set -ex
declare -a stringArray
stringArray=("4LW4" "2VXT" "1RKE" "2A1A" "2GTP" "2X9A" "3LVK" "3VLB" "4GAM" "4JCV")
HOME=$dock_home/bm/
STEPS=100
export LD_LIBRARY_PATH=$dock_home/lib:$LD_LIBRARY_PATH
export NUM_THREADS=32
export USE_CUDA=1
for str in "${stringArray[@]}"; do
echo "prepare $str" >> ${HOME}measure.txt

COMPLEX=$str

echo ${HOME}${COMPLEX}
cd ${HOME}${COMPLEX}
# # Setup
rm -rf lightdock* init/ swarm_*

mpirun -np ${NPROC} $dock_home/bin/sparkledock_lb -f setup.json -s $STEPS -l 1 >> ${HOME}measure.txt

done

 

 

Files

SparkleDockae.zip

Files (7.6 MB)

Name Size Download all
md5:93868ae9ff6e7493ffb44190ce8324ae
7.6 MB Preview Download