Accelerate the docking application on heterogeneous computing system
Open Access
- Author:
- Fan, Mengran
- Graduate Program:
- Computer Science and Engineering
- Degree:
- Master of Science
- Document Type:
- Master Thesis
- Date of Defense:
- March 26, 2020
- Committee Members:
- Mahmut Taylan Kandemir, Thesis Advisor/Co-Advisor
Kamesh Madduri, Thesis Advisor/Co-Advisor
Mehrdad Mahdavi, Committee Member
Chitaranjan Das, Program Head/Chair - Keywords:
- GPU architecture
Molecular docking - Abstract:
- With the recent development of structural biology, the bottlenecks of drug discovery have changed from the limited number of known protein structures to finding the stable docked molecular for the target proteins. Compared to directly adopt molecular docking chemical experiments, computational molecular docking offers a lower cost and less time-consuming method. However, due to the sequential algorithm designs and large memory consumption problem, most of the computational molecular docking applications are not implemented with the high-performance computing techniques, thus not fully take the benefits of computer cluster and graphics processing unit (GPU) architecture. In this thesis, we proposed a generalized molecular docking parallel strategy for Message Passing Interface (MPI) and GPU accelerating. Specifically, We maintain fault-tolerant and loading balance inside the MPI version. The GPU version carefully optimizes the main time-consuming parts targeting GPU architecture, including the reduction part, energy calculation, and memory access part. To evaluate the effectiveness of the proposed strategy, we select MedusaDock, one of the most famous computational molecular docking software, as an example to accelerate molecular docking processes. For original version MedusaDock, the docking process typically takes around a week to process one iteration on the PDBBind dataset with nearly 3900 protein-ligand pairs. Even worse, only a small portion of the protein-ligand pairs can find their docked orientation and more pairs still need much more iterations to get converge. By applying the parallel strategy on MedusaDock, our experiment result shows that both MPI and GPU version MedusaDock achieve superior performances than the original MedusaDock. The MPI version MedusaDock running on 9 nodes with 20 processes is 83.9x times faster than the original MedusaDock. If running on multiple nodes on the cluster the total time consumption can correspond reduced depending on the node number. The GPU version achieves around 1.8x times improvement on overall performance.