Powered by OpenAIRE graph
Found an issue? Give us feedback
image/svg+xml art designer at PLoS, modified by Wikipedia users Nina, Beao, JakobVoss, and AnonMoos Open Access logo, converted into svg, designed by PLoS. This version with transparent background. http://commons.wikimedia.org/wiki/File:Open_Access_logo_PLoS_white.svg art designer at PLoS, modified by Wikipedia users Nina, Beao, JakobVoss, and AnonMoos http://www.plos.org/ ZENODOarrow_drop_down
image/svg+xml art designer at PLoS, modified by Wikipedia users Nina, Beao, JakobVoss, and AnonMoos Open Access logo, converted into svg, designed by PLoS. This version with transparent background. http://commons.wikimedia.org/wiki/File:Open_Access_logo_PLoS_white.svg art designer at PLoS, modified by Wikipedia users Nina, Beao, JakobVoss, and AnonMoos http://www.plos.org/
ZENODO
Software
Data sources: ZENODO
addClaim

SparkleDock: For AD/AE

Authors: Meng, Xiangyu;

SparkleDock: For AD/AE

Abstract

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.5cuda/11.8.0 gcc/11.3.0cmake/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

Powered by OpenAIRE graph
Found an issue? Give us feedback