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

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

МЕТОД ПАРАЛЛЕЛЬНОГО РАСЧЕТА КОРРЕЛИРОВАННОЙ СИСТЕМЫ N-ЧАСТИЦ НА ГРАФИЧЕСКОМ ПРОЦЕССОРЕ

Шалабай Т.С. 1, Воронова Л.И. 1, Трунов А.С. 1
1Российский государственный гумантарный университет
 Комментарии
Текст работы размещён без изображений и формул.
Полная версия работы доступна во вкладке "Файлы работы" в формате PDF
В статье рассматривается разработка моделей и методов для поддержки высокопроизводительных вычислений, реализуемых на сетевом вычислительном ресурсе (информационно-исследовательская система ИИС MD-Slag-Melt»)[1], позволяющем исследовать структуру и свойства многокомпонентных шлаковых расплавов методами компьютерного моделирования, в том числе методом молекулярной динамики.

Принципиальное отличие систем, являющихся предметом исследования в ИИС, состоит в том, что это полимеризующиеся системы с многочастичным взаимодействием, объединяющим несколько видов взаимодействий: двухчастичные вклады (дальнодействующие ионные и близкодействующие отталкивательные) и многочастичные (двух и трех-частичные ковалентные взаимодействия).

Моделирование полимеризующихся ионно-ковалентных систем является нетривиальной задачей, требующей учета особенностей взаимодействия частиц в расплаве, что существенным образом усложняет постановку задачи распределения. Расчет математических моделей коррелированных систем, содержащих 105-107 частиц, требует разработки специальных методов для высокопроизводительных вычислений таких систем.

Авторами разработан ряд методов для поддержки высокопроизводительных вычислений, которые используют модель неоднородных дескрипторов для распределенного МД-моделирования коррелированной системы N-частиц[2, 3].

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

Объекты идентифицируются с помощью неоднородных дескрипторов, которые содержат разнотипные элементы описания выделенного объекта необходимые для распределения расчетов.

Авторами, на основе концептуальной модели МД-метода и тщательного анализа программного кода локального МД-приложения[4] построен набор дескрипторов, которые можно разделить по двум классам: одночастичные дескрипторы(D1s(i), D1v(i)) и агрегаторы (двух- и трех-частичные(D∑2(i), D∑3(i)) дескрипторы).

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

Для модели распределенных вычислителей, разработан метод равномерной загрузки вычислителей в однородной вычислительной среде[3].

Ниже описывается метод параллельного расчета коррелированной системы N-частиц на графическом процессоре, развивающий описанные подходы.

Применение вычислителей на основе графических процессоров (GPU) при параллельном расчете дескрипторов, позволит существенное уменьшить время моделирования системы N-частиц.

В методе учитываются особенности архитектуры графических процессоров NVIDIA, и технологии CUDA. Параллельный расчет выполняется большим числом нитей, сгруппированных в блоки. В отличие от вычислителей, реализующих расчеты на центральных процессорах, GPU содержит семь видов памяти, различающихся по размеру, возможности записи и скорости чтения. Графический процессор не выполняет параллельный расчет самостоятельно, функции запуска расчета, отслеживания хода выполнения расчета и передачи дескрипторов в память GPU, выполняет центральный процессор.

На рисунке 1 представлен алгоритм параллельного расчета одночастичных дескрипторов на GPU.

Рис.7. Алгоритм параллельного расчета одночастичных дескрипторов на GPU

Все множество значений элементов дескрипторов {Dlv(i)} передается в глобальную память (обладает большой вместимостью) GPU, из-за большого количества передаваемых данных. В константную и текстурную память передаются дескрипторы {Dls(i)}, что позволяет разгрузить глобальную память.

Центральный процессор формирует специальную сетку, состоящую из блоков (b), в которых определяется количество нитей (t) необходимых для расчета. Разделение множеств дескрипторов на подмножества и передача их на нити реализуется с помощью метода равномерной загрузки вычислителей.

Каждая нить производит расчет одного двухчастичного D∑2(i) агрегатора и на основе полученных результатов обновляет значения элементов одночастичные векторные дескрипторы.

Для расчета двухчастичных {D∑2(i)} агрегаторов на графическом процессоре применяется алгоритм «диагональной матрицы». Так как память для всех вычислителей одна, то возможны конфликты записи, когда вычислители обращаются к одному и тому же значению элемента дескриптора. Для этого на каждой итерации результат расчета значений элемента fij ∈ D∑2(i) передаются в специальный двумерный накопитель. Так же на каждой итерации цикла производится синхронизация. Расчет будет возобновлен только после прохождения одной итерации расчета значений элемента fij ∈ D∑2(i) всеми нитями.

Для оценки эффективности разработанного метода проведен ряд экспериментов связанных с расчетом коррелированной системы N-частиц. В экспериментах сравнивается время, затраченное на проведение локального варианта расчета коррелированной системы N-частиц и параллельного расчет с использованием технологии CUDA. Дескрипторы заполняются тестовыми значениями элементов. Тестирование модели, в основе которой заложен расчет с использованием технологии CUDA, проведено на графическом процессоре GForceGTS 450. Результаты компьютерных экспериментов представлены в таблице 1.

Таблица 3

Результаты компьютерных экспериментов коррелированной системы N-частиц.

 

Локальный вариант

CUDA

Количество частиц в системе

50176

250880

401408

50176

250880

401408

Время расчета в секундах

7,6

180,4

548,2

0,14

3,53

9,11

Согласно результатам тестирования серьезное ускорение наблюдаются при расчете системы на графическом процессоре GTS 450. Так же в модели параллельного расчета коррелированной системы N-частиц для графического процессора заложены процедуры позволяющие хранить данные в быстрой разделяемой и константной памяти GPU, что существенно сокращает время проведения моделирования.

В настоящее время модель распределенных вычислителей проходит апробацию в программном комплексе ИИС «MD-SLAG-MELT»[5]

Литература

  1. Информационно-исследовательская система «MD-SLAG-MELT». [Электронный ресурс] – Режим доступа: http://nano-md-simulation.com

  2. Voronova L.I., Trunov A.S., Voronov V.I. The distributed calculators model for molecular-dynamic simulation of strong interaction systems // European journal of natural history, 2013

  3. Л.И.Воронова, М.А.Григорьева, В.И.Воронов, А.С.Трунов Программный комплекс «MD-SLAG-MELT»для моделирования наноструктуры и свойств многокомпонентных расплавов // журнал «Расплавы» №2, 2013.

  4. Трунов А.С., Дворянчикова А.А. Метод равномерной загрузки вычислителей для распределенного мд-моделирования коррелированной системы n-частиц // V международная студенческая электронная конференция «Студенческий научный форум»

  5. Voronova L.I, Voronov V.I. “The Research-Information System "MD-SLAG-MELT". Certificate of state registration of computer programs № 2012615018 from 05.06.2012

  6. Воронова Л.И., Григорьева М.А., Воронов В.И., Трунов А.C. Программный комплекс "MD SLAG MELT" информационно-исследовательской системы "Шлаковые расплавы" версии 10.0 // Деп. в ВИНИТИ РАН, 2012. № 29-В2012. C. 16

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