Vina-FPGA2: Molekulares Docking-Werkzeug mit hochparalleler Hardwarebeschleunigung basierend auf modulübergreifender Pipeline

Ming LING ,  

Shidi TANG ,  

Ruiqi CHEN ,  

Xin LI ,  

Yanxiang ZHU ,  

Abstract

AutoDock Vina (Vina) ist ein weit verbreitetes molekulares Docking-Tool, das in vielen Studien als Standard für Docking-Ergebnisse verwendet wird. Allerdings ist der Berechnungsprozess sehr zeitaufwendig. Vina hat als erster einen beschleuniger auf Basis eines feldprogrammierbaren Gatterarrays (FPGA) — den Vina-FPGA — vorgestellt, welcher eine energieeffiziente Lösung zur Beschleunigung des Docking-Prozesses bietet. Dennoch werden die Rechenmodule im Vina-FPGA-Design nicht effizient genutzt. Dies liegt am unregelmäßigen Verhalten von Vina in verschachtelten Schleifen, deren obere Schranken sich ständig ändern und deren Kontrollfluss variiert. Glücklicherweise benötigt die Monte-Carlo-iterative Suchmethode von Vina unabhängige Berechnungen für verschiedene zufällige Anfangseingaben, was eine Gelegenheit für paralleles Design bietet. Daher wird in dieser Arbeit Vina-FPGA2 vorgeschlagen — ein Pipeline-Design zwischen Modulen, das darauf abzielt, die Laufzeiteffizienz von Vina-FPGA weiter zu verbessern. Zunächst erreichen wir die Unabhängigkeit der Aufgaben durch sukzessives Befüllen der Rechenmodule mit Aufgaben (Task). Anschließend implementieren wir mithilfe eines Tag-Prüfmoduls und Architekturänderungen ein modulares Pipeline-Paralleldesign mit dem Namen Vina-FPGA2-Baseline. Für eine ressourceneffiziente Hardwareimplementierung wurde das Design in ein Optimierungsproblem umgewandelt und ein verstärkungslernbasierter Lösungsansatz entwickelt. Auf der Xilinx UltraScale XCKU060-Plattform wurde ein effizienterer Beschleuniger-Entwurf namens Vina-FPGA2-Enhanced realisiert. Abschließend zeigen Experimente, dass die Leistung von Vina-FPGA2-Enhanced im Durchschnitt 12,6-mal höher ist als die einer zentralen Verarbeitungseinheit (CPU), 3,3-mal schneller als Vina-FPGA und die Energieeffizienz im Vergleich zu Vina-GPU um das 7,2-fache verbessert wurde.

Keywords

AutoDock Vina (Vina); Hardwarebeschleuniger; programmierbare Gatterarrays; Hardware-Software-Co-Design

READ MORE