TU Darmstadt / ULB / TUprints

Accelerating Molecular Docking by Parallelized Heterogeneous Computing - A Case Study of Performance, Quality of Results, and Energy-Efficiency using CPUs, GPUs, and FPGAs

Solis Vasquez, Leonardo (2019)
Accelerating Molecular Docking by Parallelized Heterogeneous Computing - A Case Study of Performance, Quality of Results, and Energy-Efficiency using CPUs, GPUs, and FPGAs.
Technische Universität Darmstadt
doi: 10.25534/tuprints-00009288
Ph.D. Thesis, Primary publication

[img]
Preview
Text (PDF)
20191130_phdthesis_lsv.pdf - Accepted Version
Copyright Information: CC BY-SA 4.0 International - Creative Commons, Attribution ShareAlike.

Download (1MB) | Preview
Item Type: Ph.D. Thesis
Type of entry: Primary publication
Title: Accelerating Molecular Docking by Parallelized Heterogeneous Computing - A Case Study of Performance, Quality of Results, and Energy-Efficiency using CPUs, GPUs, and FPGAs
Language: English
Referees: Koch, Prof. Dr. Andreas ; Plessl, Prof. Dr. Christian
Date: 30 November 2019
Place of Publication: Darmstadt
Date of oral examination: 14 October 2019
DOI: 10.25534/tuprints-00009288
Abstract:

Molecular Docking (MD) is a key tool in computer-aided drug design that aims to predict the binding pose between a small molecule and a macromolecular target. At its core, MD calculates the strength of possible binding poses, and searches for the energetically-stronger ones among those generated during simulation. Automatic Docking (AutoDock) is a widely-used MD code that employs a physics-based scoring function to quantify the binding strength. AutoDock also uses a Lamarckian Genetic Algorithm (LGA), and in turn, the Solis-Wets method, as a local-search algorithm, in order to find strong interactions of such molecular systems. Due to the highly-parallel nature of the LGA tasks involved, AutoDock can benefit from runtime acceleration based on parallelization.

This thesis presents an OpenCL-based parallelization of AutoDock, and a corresponding evaluation in terms of execution performance, quality-of-results, and compute-energy efficiency, achieved on different platforms based on: multi-core Central Processing Unit (CPU)s, Graphics Processing Unit (GPU)s, and Field Programmable Gate Array (FPGA)s. While a data-parallel approach has proven its effectiveness in accelerating AutoDock on CPUs and GPUs, it was observed that for FPGAs, such approach resulted in slower executions in the range of three-orders of magnitude when compared against the original single-threaded AutoDock. To overcome this drawback, a task-parallel implementation for FPGAs is discussed as well.

Besides presenting an AutoDock implementation being parallelized using OpenCL, this thesis also extends the LGA search with new alternative local-search methods based on gradients (of the scoring function) such as: Steepest-Descent, FIRE, and ADADELTA. Among these, it was found that ADADELTA provides significant algorithmic benefits over Solis-Wets, yielding a reduction in calculation effort down to 1/1300 of the legacy Solis-Wets method, while achieving equivalent quality-of-results. Compared to the original single-threaded AutoDock, the proposed data-parallel design achieves a speedup of up to ∼399x and improves the compute-energy efficiency by up to ∼297x when running on modern V100 GPUs. Furthermore, this thesis describes the adaptations performed on the proposed OpenCL-based implementation for supporting challenging real-world MD scenarios.

Alternative Abstract:
Alternative AbstractLanguage

Molecular Docking (MD) ist ein Schlüsselinstrument für das computer-gestützte Wirkstoffdesign, mit dem die Bindungspose zwischen einem kleinen Molekül und einem makromolekularen Ziel vorhergesagt werden soll. Im Kern berechnet MD die Stärke möglicher Bindungsposen und sucht nach den energetisch stärkeren unter denen, die während der Simulation erzeugt wurden. Automatic Docking (AutoDock) ist ein weit verbreiteter MD Code, bei dem die Bindungsstärke mithilfe einer physikbasierten Bewertungsfunktion quantifiziert wird. AutoDock verwendet auch einen Lamarckschen Genetischen Algorithmus (LGA) und als lokalen Suchalgorithmus die Solis-Wets-Methode, um starke Wechselwirkungen solcher molekularer Systeme zu finden. Aufgrund der hohen Parallelität der beteiligten LGA Aufgaben kann AutoDock von einer Laufzeitbeschleunigung auf der Grundlage der Parallelisierung profitieren.

Diese Dissertation präsentiert eine OpenCL-basierte Parallelisierung von AutoDock und eine entsprechende Bewertung in Bezug auf Ausführungsleistung, Ergebnisqualität und Rechen-Energieeffizienz, die auf verschiedenen Plattformen durchgeführt wird, basierend auf: Multi-Core Central Processing Unit (CPU)s, Graphics Processing Unit (GPU)s und Field Programmable Gate Array (FPGA)s. Während ein datenparalleler Ansatz seine Wirksamkeit bei der Beschleunigung von AutoDock auf CPUs und GPUs bewiesen hat, wurde beobachtet, dass ein solcher Ansatz bei FPGAs im Vergleich zum ursprünglichen AutoDock mit einem Thread zu langsameren Ausführungen im Bereich von drei Größenordnungen führte. Um diesen Nachteil zu überwinden, wird auch eine aufgabenparallele Implementierung für FPGAs diskutiert.

Neben der Darstellung einer AutoDock Implementierung, die mit OpenCL parallelisiert wird, erweitert diese Arbeit die LGA-Suche um neue alternative lokale Suchmethoden auf der Basis von Gradienten (der Bewertungsfunktion) wie Steepest-Descent, FIRE und ADADELTA. Unter diesen wurde festgestellt, dass ADADELTA signifikante algorithmische Vorteile gegenüber Solis-Wets bietet, was zu einer Re- duzierung des Rechenaufwands auf 1/1300 der herkömmlichen Solis-Wets-Methode bei gleichwertiger Ergebnisqualität führt. Im Vergleich zum ursprünglichen single-threaded AutoDock erzielt das vorgeschlagene datenparallele Design eine Geschwindigkeitssteigerung von bis zu ∼399x und verbessert die Rechen-Energieeffizienz um bis zu ∼297x, wenn es auf modernen V100 GPU s ausgeführt wird. Darüber hinaus beschreibt diese Arbeit die Anpassungen, die an der vorgeschlagenen OpenCL-basierten Implementierung vorgenommen wurden, um herausfordernde reale MD Szenarien zu unterstützen.

German
URN: urn:nbn:de:tuda-tuprints-92886
Classification DDC: 000 Generalities, computers, information > 004 Computer science
500 Science and mathematics > 540 Chemistry
600 Technology, medicine, applied sciences > 620 Engineering and machine engineering
Divisions: 20 Department of Computer Science > Embedded Systems and Applications
Date Deposited: 04 Dec 2019 15:20
Last Modified: 09 Jul 2020 02:50
URI: https://tuprints.ulb.tu-darmstadt.de/id/eprint/9288
PPN: 456454837
Export:
Actions (login required)
View Item View Item