PUMA-CUDA
ИСПОЛЬЗОВАНИЕ ГРАФИЧЕСКИХ ПРОЦЕССОРОВ ДЛЯ ПОВЫШЕНИЯ БЫСТРОДЕЙСТВИЯ РАСЧЕТОВ МОЛЕКУЛЯРНОЙ ДИНАМИКИ
Метод моделирования молекулярной динамики широко применяется в научных исследованиях. Одним из основных ресурсов программы моделирования молекулярной динамики является время выполнения. Чем выше скорость работы программ, тем легче становится получить более точные результаты. В длительном эксперименте возможен сбор более точной статистики. Также становится возможным работать с более объемными моделями, содержащими сотни тысяч атомов.
Как правило, программы моделирования молекулярной динамики рассчитаны на суперкомпьютерные комплексы. Особое внимание уделяется разработке программ, использующие графические ускорители в качестве математических сопроцессоров.
Процесс моделирования заключается в интегрировании классических уравнений движения материальных частиц – атомов системы. Последние связаны между собой силами валентных и невалентных взаимодействий. Сложность вычисления невалентных взаимодействий в общем случае пропорциональна квадрату числа атомов в системе и занимает большую часть (>95-99%) машинного времени.
Для повышения скорости моделирования используются методы снижения вычислительной сложности расчета сил и энергий невалентных взаимодействий. Наиболее известные из них – алгоритм составления списков взаимодействующих атомов (метод Верле) и алгоритм сканирования по пространству. Оба метода основаны на том, что атомы взаимодействуют лишь с некоторым окружением, ограниченным радиусом взаимодействия (радиус обрезания).
Метод сканирования по пространству зарекомендовал себя как наиболее эффективный метод оптимизации вычислений благодаря малым накладным расходам и возможности быстрого перестроения вспомогательных структур. В методе Верле значимая часть машинного времени тратится на построение самих списков взаимодействующих атомов.
При реализации программы моделирования молекулярной динамики в гетерогенной вычислительной среде (1CPU-2GPU) метод сканирования по пространству оказался неэффективным ввиду медленного исполнения ветвлений графическими процессорами. Метод списков Верле, напротив, показал свою эффективность в исполнительной части. Однако перестроение самих списков отнимало значимую часть машинного времени.