Vina-FPGA2: инструмент молекулярного докинга с параллельным высокоуровневым аппаратным ускорением на основе межмодульной конвейерной архитектуры

Ming LING ,  

Shidi TANG ,  

Ruiqi CHEN ,  

Xin LI ,  

Yanxiang ZHU ,  

Abstract

AutoDock Vina (Vina) является широко используемым инструментом молекулярного докинга, который многие исследования принимают в качестве стандарта для результатов докинга. Однако процесс его вычислений очень трудозатратен. Vina впервые внедрил ускоритель на базе программируемых вентильных матриц (FPGA) — Vina-FPGA, предлагающий энергоэффективное решение для ускорения процесса докинга. Тем не менее вычислительные модули в дизайне Vina-FPGA не используются эффективно. Это связано с нерегулярным поведением Vina во вложенных циклах, где верхние границы постоянно меняются, а управляющие потоки разнятся. К счастью, итеративный метод поиска Монте-Карло, используемый в Vina, требует независимых вычислений для различных случайных начальных входных данных, что предоставляет возможность для параллельного дизайна вычислений. В данной работе предложен Vina-FPGA2 — конвейерная архитектура между модулями, направленная на повышение эффективности работы Vina-FPGA. Во-первых, обеспечена независимость задач путем последовательного заполнения вычислительных модулей задачами (Task). Затем, с помощью модуля проверки меток и архитектурных корректировок, реализован межмодульный конвейерный параллелизм, названный Vina-FPGA2-Baseline. Для достижения эффективного аппаратного решения дизайн преобразован в задачу оптимизации, и разработан решатель на основе усиленного обучения. Для платформы Xilinx UltraScale XCKU060 создан более энергоэффективный ускоритель под названием Vina-FPGA2-Enhanced. В заключение, эксперименты показали, что производительность Vina-FPGA2-Enhanced в среднем в 12,6 раз выше, чем у центрального процессора (CPU), в 3,3 раза быстрее, чем у Vina-FPGA, и в 7,2 раза эффективнее по энергопотреблению по сравнению с Vina-GPU.

Keywords

AutoDock Vina (Vina); аппаратные ускорители; программируемые вентильные матрицы; совместный аппаратно-программный дизайн

READ MORE