ИССЛЕДОВАНИЕ ЭФФЕКТИВНОСТИ ГРАФИЧЕСКОГО ПРОЦЕССОРА ПРИ ДИНАМИЧЕСКОМ МОДЕЛИРОВАНИИ С ТЕХНОЛОГИЕЙ NVIDIACUDA - Студенческий научный форум

IX Международная студенческая научная конференция Студенческий научный форум - 2017

ИССЛЕДОВАНИЕ ЭФФЕКТИВНОСТИ ГРАФИЧЕСКОГО ПРОЦЕССОРА ПРИ ДИНАМИЧЕСКОМ МОДЕЛИРОВАНИИ С ТЕХНОЛОГИЕЙ NVIDIACUDA

Филатов А.М. 1, Трунов А.С. 1
1Московский Технический Университет Связи и Информатики
 Комментарии
Текст работы размещён без изображений и формул.
Полная версия работы доступна во вкладке "Файлы работы" в формате PDF
Методы молекулярного моделирования, в частности молекулярной динамики (МД) широко используются сегодня во многих сферах производства, таких как металлургия, химическая промышленность и другие. Существенное развитие в области МД-моделирования связано с использованием технологий параллельных вычислений. Сегодня графический процессор GPU (GraphicsProcessingUnit) обладает наиболее оптимальной архитектурой параллельных вычислений с общей памятью для проведения расчетов в области молекулярной динамики. Большая часть времени при моделировании методом молекулярной динамики уделяется расчетам парных взаимодействий частиц. Параллельная реализация таких расчетов может значительно уменьшить время, затрачиваемое на моделирование.

В настоящее время существует множество программных комплексов позволяющих проводить моделирование методом молекулярной динамики[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 - Графики времени выполнения программ, в зависимости от количества частиц.

В реальной системе, количество частиц может превышать миллионы. Расчеты с помощью линейных алгоритмов в таком случае может занять месяц, что совершенно неприемлемо.

При больших объемах данных время выполнения на графическом процессоре становится меньше, причем временной разрыв увеличивается с объемом данных.

Список использованной литературы.

  1. 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)

  2. NAMD Version CVS-2016-09-22 M. Bhandarkar, A. Bhatele Theoretical and Computational Biophysics Group, Beckman Institute, University of Illinois, 2016.

  3. GROMACS, Emile Apol, Rossen Apostolov, Herman J.C. Berendsen, The GROMACS development teams at the Royal Institute of Technology and Uppsala University, Sweden, 2016

  4. Трунов А.С., Воронова Л.И., Воронов В.И., Разработка параллельного алгоритма для информационно-исследовательской системы “MD-SLAG-MELT” на основе технологии CUDA. Вестник Нижневартовского государственного университета, выпуск №3 / 2015, 8с.

  5. Пилипчак П.Е., Трунов А.С. Параллельный расчет системы N-частиц с использованием технологии MPI и CUDA // Современные наукоемкие технологии. – 2014. – № 5-2. – С. 217-218;

  6. Воронова Л.И., Трунов А.С. Оптимизация параллельного алгоритма подсистемы распределенного молекулярно-динамического моделирования. - Межотраслевая информационная служба, №3, 2011, 12с.

Просмотров работы: 321