Автореферат (786408), страница 2
Текст из файла (страница 2)
Рассмотрены вопросы, связанные с решением задач рассматриваемого класса на графических процессорах. Молекулярно-динамическое моделирование основано на решении уравнений динамики структурных элементов (частиц): й' г, т,,' =- К = — ~,Е(г,, г, г, ) (1) с5 где ~ — время, т,, г, — масса и радиус вектор ~'-ой частицы, Х вЂ” число частиц в системе, Р, — сила, действующая на ~'-ую частицу, Ч,Е(г,г-...г, ) — градиент потенциала межчасти чного взаимодействия. Одним из наиболее распространенных методов численного интегрирования системы уравнений (1) является метод скоростей Верле второго порядка точности: 1 г,р+Л~) = г(1)=~а ъЯ- — Х~-'а,(Г) 2 $' а,.(~+ Лг) — — — ' 1 ъ,(~+Лг) = кЯ+ — Л~(а,(г)+а,(г+Лк)) (2) моделировать структуры, состоящие из сотен миллионов структурных элементов.
Как уже отмечалось, присущий молекулярно-динамическому моделированию параллелизм вычислительного процесса находит адекватное отражение в архитектуре видеокарт, что создает условия для их эффективного применения в задачах рассматриваемого класса. Графические карты имеют собственную архитектуру вычислителей, которые объединяются в блоки и гриды. Изначально они были рассчитаны на обработку видео и операции с матрицами. Для выполнения задач общего назначения требуется адаптация вычислительных моделей под многопоточную систему исполнения и разноуровневую систему памяти. В настоящее время су~цествует целый ряд реализаций ускорения вычислений для сравнительно простых потенциалов межчастичного где ~, — скоросты'-ой частицы, а, — ускорение. Сушественным является то. что в силу ограниченности радиуса взаимодействия между частицами, такой алгоритм допускает распараллеливание вычислений для процессов, происходящих в различных областях пространства.
Это позволяет эффективно применять его на многопроцессорных вычислительных системах. Интенсивный рост производительности вычислительной техники позволяет в настоящее время взаимодействия. Однако для более точного описания широкого спектра свойств наносистем необходимо использовать многочастичные потенциалы, отражающие реальные свойства межчастичных связей. В качестве типичного представителя таких потенциалов в настоящей работе рассматривается потенциал Бреннера. С одной стороны, его использование позволяет исследовать довольно широкий класс наносистем, с другой — на примере этого потенциала можно отчетливо проследить основные проблемы молекулярно-динамического моделирования на графических процессорах.
Потенциал Бреннера состоит из притягивающей — 1"'(г„), и отталкивающей — 1' (г,, ), компонент, а также функции порядка связи — Ь„: Ев =- ~','"(Г~6"„) — Ь,$'»(г„)), Г" (г„) = 7'"(г'„)(1+ — )Ае Ц Ь, ' = 1+ ,', Я,". (гд )С(соз(0... ))е"д + Р,. (Х,', Ж,п ) ~~1,7 АС у; (у1,~ ~ ~ ~соп~' (7) (8) где г„= ~г, — г,~ — расстояние между ~-ым и ~'-ым атомами, 6' ' — показатель взаимного расположения трех атомов, 6 (соя(0„,, )1 -- функция угла„ образованного тремя атомами, ~,'," — корректирующий показатель материала, ܄— показатель взаимного расположения четырех атомов, Р„(м,', Х,"), Р; (Х,',Ь", ~",;"").
Т, (Х,',Х;..Л~,","") — функции„интерполирующие экспериментальные данные, величина ~" (г1 ограничивает расстояние межчастичного взаимодействия. Применение таких потенциалов требует разработки специальных подходов к программной реализации параллельных алгоритмов на 6Р13 с адаптацией к специфике решаемых задач, сося саыоез тсхлто~ ттылосизт или ивнев'е катит Валуатрыраммы Вызоасрелвс Системе настин ВЫЗОВ Стори Д З салтана улравлемм Со внинал езаимолеасы,т Графинесхии вывод ( Вттзу мъные заем енты Расндтлуохореыат .седым соседних атомов Раа е тоз4Фидйаи~оа - Рвснатсыт о 'т:и Фу'имитыалыны з злеыойы ИслолнзоеанЫтзоординат з з Дрт ел с еи в зуал засти . Система «ранении да н х ротуые лротраммы |е нзмллехсз мунеиионалнные злементы Сис~ема змрузхи данных Рванет мет термсстмиммание Храненйе аоррдинат Ю Выл Рис.
1. Схема процесса разработки азаимолсйстнууоших компонент программы Во второй главе представлены методы разработки программ для молекулярно-динамического моделирования на графических процессорах. Процесс проектирования программного обеспечения разбивается на три этапа: выбор основы проекта, добавление основного функционала, добавление внешнего функционала. На первом этапе выбирается шаблон СПИ, который соответствует поставленной задаче. Производитель МЪ'101А предоставил широкий набор шаблонов; выбор одного из них обеспечит длительную поддержку и полную совместимость с аппаратным обеспечением и операционными системами.
На втором этапе в проект включается основной функционал. На третьем этапе в проект добавляется дополнительный функционал на уровне кода или совместимых модулей. Описанный процесс можно представить следующей схемой (рис. 1). Предложен подход к повышению эффективности параллельных вычислений на графических процессорах за счет использования гибридной модели расчетной области для численного решения уравнений динамики частиц. Используется комбинация ячеистой модели и составления списка соседей для каждого атома. Применение такой модели позволяет„ с одной стороны, достичь вычислительной сложности 0(Ж) в наиболее затратной по времени части вычислительного процесса, а с другой стороны, добиться бесконфликтного доступа к памяти.
Особенности доступа к памяти при программировании на 6Р1.1 показаны на рис. 2. Гльбальнаяланять Таксттрнаялалтять р Х с; ..', .; Ь Кя,. 11 ры, ная Канатантная нанять тт 1 Ф те так т '.н) т 1 кен алла инте Рис. 2. Схема использования памяти 61т11 при вычислениях сил в потенциальном поле Представлена эффективная реализация алгоритмов молекулярно- динамического моделирования систем со сложным потенциалом межчастичного взаимодействия на видеокартах. Схема скоростей Берле разбивается на две исти: выполнение операций обновления координат и скоростей, вычисления сил„действующих на атомы, и ускорений. Для процедуры обновления координат подбирается максимальное число вычислительных потоков в блоке.
Доступ к памяти улучшается за счет сортировки элементов. Вычислительные потоки записывают результаты в один массив одновременно, при следующем обращении к памяти они используют весь массив неооходимых значений. Вычисление сил разбивается на два этапа: вычисление сложных коэффициентов потенциала межатомного взаимодействия с их сохранением в дополнительную память и использование готовых коэффициентов для суммирования сил со стороны всех атомов. Такой подход позволяет избежать блокирования доступа к памяти для параллельных потоков вычислений. Предложен эффективный подход к реализации вычисления потенциала межатомного взаимодействия на ОРАЗ.
Основной задачей является обеспечение наиболее эффективного доступа к памяти. Для этого выделяется дополнительная память и переменные, которые хранят копии координат до 8 соседних атомов. Из функции вычисления сил выносится расчет коэффициентов, так что вычислительно сложная часть операций перенесена в специальную функцию. Затратная по времени функция составления списка соседних атомов оперирует значениями хеш-функции и дополнительной памятью, после построения списка расположение координат атомов оказывается выровненным в памяти, и не возникает перекрестного доступа на следующих этапах. Можно сформулировать следующее утверждение.
Утвер~ъение. Алгоритм расчета атомных сил с выделением дополнительной памяти для хранения списка взаимодействующих атомов имеет вычислительную у сложность 0~ — ), где Р— число ядер графического процессора. Р Докажем это. Согласно предлагаемому алгоритму число потоков устанавливается равным числу элементов Х При вычислениях на 6РБ имеет место пропорциональная зависимость затрат времени от загруженности памяти, Использование ограничивающей функции приводит к увеличению памяти в фиксированное количество раз, зависящее только от ь.
— числа ковалентных связей„и не зависящее от числа атомов в системе. Учитывая введение дополнительной памяти в количестве т ячеек, вычисления с известными значениями Ь, потребуют 5 "я~У условных единиц времени. Вычисления за счет функции ограничения потребуют — .~'*,~:. Общее число условных единиц времени составит э М+,~ т У. За счет реализованных методов у каждого потока вычислений есть набор данных и инструкций, одному потоку вычислений нет необходимости ожидать, пока другой поток подготовит данные для расчета (рис.
3). Л' потоков выполняются на Р процессорах, что дает сложность ~.».'+ эт~ — ' Р я -сгонбнов !'ис. 3. Организация бесконфликтных запросов памяти при вычислении потенциала ?бреннера Создан авторский комплекс программ для молекулярно-динамического моделирования наносистем, разработанный по описанной выше технологии. Описаны принципы взаимодействия различных программ на нескольких уровнях: расчетном, ввода, вывода, обмена данных, отображения и визуализации.
Уровень ввода, вывода, обмена данных предполагает взаимодействие программ, поддерживающих форматы хранения данных Х'т'7., МАМО, 1 АММРЯ, рдЬ. Расчетный уровень предполагает взаимодействие с программами ХАМР, 1 АММР~ таким образом, гго выполняется совместимый программный код. Уровень визуализации предполагает взаимодействие с программами О'ЛТО„ЧМО. В третьей главе представлены результаты вычислительных экспериментов по моделированию наноструктур на графических процессорах. Для проведения расчетов использовался разработанный автором программный комплекс. В качестве примера рассмотрен материал графен, который находит все большее применение в различных отраслях современной индустрии, Влияние 12 числа потоков в элементарном вычислительном блоке на время расчета показано в таблице 1, время измерено в задаче моделирования листа графена, содержащего 6720 атомов на аппаратном обеспечении 1п!е! Соте 15-4200Ь', 1.6 ГГц, 2 ядра, 12 Гб ВАМ, пЧ[с[[а ОеГогсе 840М (384 ядра) под управлением ОС %[пдозз~з 8.1.
Максимальные значения числа вычислительных потоков в блоке: !1024, 1024, 641. Таблица 1. Время выполнения функций (микросекунды) в зависимости от параметров инициализации ОР17. ~1исло потоков в блоке Г256,1.11 ~ [512.1,1) [1024,1.!) [32,!„1) [64,1.1] [1 28,1,1] , 'Обновление координат и ! скоростей по алгоритму скоростей Верле Вычисление хэпь функции 23 Выравнивание данных 75 ~ 71 )40 ! Сортировка вычислений. 1" В таблице 2 приведены оптимальные параметры конфигурации запуска вычислений на графических процессорах.
Для каждой функции устанавливаются независимые параметры конфигурации„значения которых соответствуют логическому представлению вычислительных потоков в блоке. Реализованные методы выравнивания памяти и использование обьединенных переменных позволяют задавать одномерную конфигурацию блоков, что имеет более простое логическое представление данных. Обший прирост ускорения при оптимальном выборе числа вычислительных потоков достигает 13.3%. Здесь же представлены показатели затрат времени выполнения различных функций в процентах от общего времени одного шага для образца из 6720 атомов, Из таблицы видно„ что 91% времени требуется для расчета потенциала и обновления списка соседних атомов.