В настоящее время существует множество программных комплексов позволяющих проводить моделирование методом молекулярной динамики[1-3]. К таким комплексам относится и MD-SLAG-MELT[4], который позволяет прогнозировать структуру и свойства многокомпонентных шлаковых расплавов.
В программном комплексе MD-SLAG-MELT применяются вычислительные модели, основанные на параллельной обработке данных, что существенно позволяет сократить время проведения компьютерного моделирования[5-6].
Компьютерные эксперименты проводились с использованием графического процессора GeForceNvidia GTX760 при помощью технологии Nvidia CUDA (Compute Unified Device Architecture), интегрированной в язык программирования C++.
Для сравнения скорости вычислений, расчет так же выполнялся на центрально процессоре CPU Intel(R) Core(TM) i5-4460 3.20 GHz.
Таблица 1. – Экспериментальные данные работы алгоритмов, при малом количестве частиц.
Количество частиц |
Время выполнения на CPU, с |
Время выполнения с использованием GPU, с |
340 |
0,0550 |
0,0854 |
500 |
0,1100 |
0,1423 |
800 |
0,2010 |
0,2335 |
1000 |
0,3080 |
0,3354 |
Представленные на рисунке 1 результаты компьютерного эксперимента показывают, что при размерности моделируемой системы до одной тысячи частиц, время расчета увеличивается линейно.
В таблице 1 представлены экспериментальные данные о времени, затраченном на выполнение моделирования системы размером до одной тысячи частиц. Время выполнения расчетов на графическом процессоре затрачивается больше, чем, при расчетах на центральном процессоре. Это связано с накладными расходами на передачу данных из оперативной памяти в память графического процессора. При маленьком размере моделируемой системы время расчета значительно меньше, чем время передачи данных графическому процессору.
Рисунок 2. – Графики времени выполнения программ, в зависимости от количества частиц.
В области большего, на порядок, числа частиц функции времени становятся близкими к квадратичным, что сильно увеличивает время выполнения.
Таблица 2. - Экспериментальные данные работы алгоритмов, при количестве частиц больше тысячи.
Количество частиц |
Время выполнения на CPU |
Время выполнения с использованием GPU |
1000 |
0,3080 |
0,3354 |
4000 |
4,7550 |
3,0885 |
8000 |
19,1360 |
12,2759 |
14000 |
58,3890 |
37,2812 |
20000 |
119,4640 |
81,4711 |
50000 |
753,9860 |
497,5374 |
Как видно из таблицы 2, при увеличении количества частиц до десяти тысяч и более, количество времени на выполнение начинает превышать несколько минут, что является большим промежутком времени для такого малого количества частиц.
Рисунок 3 - Графики времени выполнения программ, в зависимости от количества частиц.
В реальной системе, количество частиц может превышать миллионы. Расчеты с помощью линейных алгоритмов в таком случае может занять месяц, что совершенно неприемлемо.
При больших объемах данных время выполнения на графическом процессоре становится меньше, причем временной разрыв увеличивается с объемом данных.
Список использованной литературы.
LAMMPS framework for dynamic bonding and an application modeling DNA, C Svaneborg, computer physics communications, 183, 1793-1802 (2012). (DOI: 10.1016/j.cpc.2012.03.005)
NAMD Version CVS-2016-09-22 M. Bhandarkar, A. Bhatele Theoretical and Computational Biophysics Group, Beckman Institute, University of Illinois, 2016.
GROMACS, Emile Apol, Rossen Apostolov, Herman J.C. Berendsen, The GROMACS development teams at the Royal Institute of Technology and Uppsala University, Sweden, 2016
Трунов А.С., Воронова Л.И., Воронов В.И., Разработка параллельного алгоритма для информационно-исследовательской системы “MD-SLAG-MELT” на основе технологии CUDA. Вестник Нижневартовского государственного университета, выпуск №3 / 2015, 8с.
Пилипчак П.Е., Трунов А.С. Параллельный расчет системы N-частиц с использованием технологии MPI и CUDA // Современные наукоемкие технологии. – 2014. – № 5-2. – С. 217-218;
Воронова Л.И., Трунов А.С. Оптимизация параллельного алгоритма подсистемы распределенного молекулярно-динамического моделирования. - Межотраслевая информационная служба, №3, 2011, 12с.