Accelerating Molecular Docking by Parallelized Heterogeneous Computing – a Case Study of Performance, Quality of Results
Total Page:16
File Type:pdf, Size:1020Kb
solis vasquez, leonardo ACCELERATINGMOLECULARDOCKINGBY PARALLELIZEDHETEROGENEOUSCOMPUTING–A CASESTUDYOFPERFORMANCE,QUALITYOF RESULTS,ANDENERGY-EFFICIENCYUSINGCPUS, GPUS,ANDFPGAS Printed and/or published with the support of the German Academic Exchange Service (DAAD). ACCELERATINGMOLECULARDOCKINGBYPARALLELIZED HETEROGENEOUSCOMPUTING–ACASESTUDYOF PERFORMANCE,QUALITYOFRESULTS,AND ENERGY-EFFICIENCYUSINGCPUS,GPUS,ANDFPGAS at the Computer Science Department of the Technische Universität Darmstadt submitted in fulfilment of the requirements for the degree of Doctor of Engineering (Dr.-Ing.) Doctoral thesis by Solis Vasquez, Leonardo from Lima, Peru Reviewers Prof. Dr.-Ing. Andreas Koch Prof. Dr. Christian Plessl Date of the oral exam October 14, 2019 Darmstadt, 2019 D 17 Solis Vasquez, Leonardo: Accelerating Molecular Docking by Parallelized Heterogeneous Computing – A Case Study of Performance, Quality of Re- sults, and Energy-Efficiency using CPUs, GPUs, and FPGAs Darmstadt, Technische Universität Darmstadt Date of the oral exam: October 14, 2019 Please cite this work as: URN: urn:nbn:de:tuda-tuprints-92886 URL: https://tuprints.ulb.tu-darmstadt.de/id/eprint/9288 This document is provided by TUprints, The Publication Service of the Technische Universität Darmstadt https://tuprints.ulb.tu-darmstadt.de This work is licensed under a Creative Commons “Attribution-ShareAlike 4.0 In- ternational” license. ERKLÄRUNGENLAUTPROMOTIONSORDNUNG §8 Abs. 1 lit. c PromO Ich versichere hiermit, dass die elektronische Version meiner Disserta- tion mit der schriftlichen Version übereinstimmt. §8 Abs. 1 lit. d PromO Ich versichere hiermit, dass zu einem vorherigen Zeitpunkt noch keine Promotion versucht wurde. In diesem Fall sind nähere Angaben über Zeitpunkt, Hochschule, Dissertationsthema und Ergebnis dieses Versuchs mitzuteilen. §9 Abs. 1 PromO Ich versichere hiermit, dass die vorliegende Dissertation selbstständig und nur unter Verwendung der angegebenen Quellen verfasst wurde. §9 Abs. 2 PromO Die Arbeit hat bisher noch nicht zu Prüfungszwecken gedient. Darmstadt, August, 2019 Solis Vasquez, Leonardo Dedicated to my lovely parents and sister. 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 differ- ent platforms based on: multi-core Central Processing Unit (CPU)s, Graphics Processing Unit (GPU)s, and Field Programmable Gate Ar- ray (FPGA)s. While a data-parallel approach has proven its effective- ness 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. ix ZUSAMMENFASSUNG 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 wer- den 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 ei- ner 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 Parallelisie- rung 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 ADADEL- TA. 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 vorgeschlage- ne datenparallele Design eine Geschwindigkeitssteigerung von bis zu ∼399x und verbessert die Rechen-Energieeffizienz um bis zu ∼297x, wenn es auf modernen V100 GPUs ausgeführt wird. Darüber hinaus beschreibt diese Arbeit die Anpassungen, die an der vorgeschlage- nen OpenCL-basierten Implementierung vorgenommen wurden, um herausfordernde reale MD Szenarien zu unterstützen. x PUBLICATIONS Teamwork is the Main ideas and figures have appeared previously in the following ability to work publications: together toward a common vision. The [1] Léa El Khoury, Diogo Santos-Martins, Sukanya Sasmal, Jérôme ability to direct Eberhardt, Giulia Bianco, Francesca A. Ambrosio, Solis-Vasquez, individual Leonardo, Andreas Koch, Stefano Forli, and David Mobley. accomplishments toward “Comparison of affinity ranking using AutoDock-GPU and organizational MM-GBSA scores for BACE-1 inhibitors in the D3R Grand objectives. It is the Challenge 4.” In: Journal of Computer-Aided Molecular Design fuel that allows (2019). doi: 10.1007/s10822-019-00240-w. common people to attain uncommon [2] Diogo Santos-Martins, Solis-Vasquez, Leonardo, Andreas Koch, results. — Andrew and Stefano Forli. “Accelerating AutoDock4 with GPUs and Carnegie Gradient-Based Local Search.” In: ChemRxiv (preprint) (2019). doi: 10.26434/chemrxiv.9702389.v1. [3] Diogo Santos-Martins, Jérôme Eberhardt, Giulia Bianco, Solis- Vasquez, Leonardo, Francesca Alessandra Ambrosio, Andreas Koch, and Stefano Forli. “D3R Grand Challenge 4: prospective pose prediction of BACE1 ligands with AutoDock-GPU.” In: Journal of Computer-Aided Molecular Design (2019). doi: 10.1007/ s10822-019-00241-9. [4] Solis-Vasquez, Leonardo and Andreas Koch. “A Performance and Energy Evaluation of OpenCL-accelerated Molecular Dock- ing.” In: Proceedings of the 5th International Workshop on OpenCL (IWOCL). Toronto, ON, Canada: ACM, 2017. doi: 10.1145/ 3078155.3078167. [5] Solis-Vasquez, Leonardo and Andreas Koch. “A Case Study in Using OpenCL on FPGAs: Creating an Open-Source Ac- celerator of the AutoDock Molecular Docking Software.” In: Proceedings of the 5th International Workshop on FPGAs for Soft- ware Programmers (FSP). Dublin, Ireland: VDE VERLAG, 2018. url: https://ieeexplore.ieee.org/document/8470463. [6] Solis-Vasquez, Leonardo, Diogo Santos-Martins, Andreas Koch, and Stefano Forli. “Performance Analysis of Molecular Dock- ing in OpenCL: A Case Study of AutoDock enhanced with Gradients.” In: Submitted to the 34th International Parallel and Distributed Processing Symposium (IPDPS). Submitted, 2019. [7] Solis-Vasquez, Leonardo, Diogo Santos-Martins, Andreas Koch, and Stefano Forli. “Evaluating the Energy Efficiency of OpenCL- accelerated AutoDock Molecular Docking.” In: Submitted to the xi 28th Euromicro International Conference on Parallel, Distributed,