Диссертация (786409), страница 4
Текст из файла (страница 4)
Технология С1ХОА описывает работу графических процессоров в виде блоков выборки текстур (рис.1.2). В блоке выборки текстур реализована надстройка для работы с памятью и потоковые мультипроцессоры, Потоковый мультипроцессор состоит из кэша инструкций, кэша констант, блока выборки инструкций, разделяемой памяти, графических ядер, блока специальных функций, регистровой памяти. Система расписаний обрабатывает данные из блока инструкций и запросы вычислительных потоков на доступ к памяти. Процесс вычисления запускается только тогда, когда есть 16 необходимые ресурсы. Во время запроса на доступ к памяти одними вычислительными потоками в блоке инструкций может формироваться новый набор инструкций, также в этот момент могут исполняться потоки, которым не нужен доступ к памяти или данные для которых уже получены.
рисунок 1.2. Схематическое изображение потокового муньтипронессора Язык СШ)А С предоставляет в распоряжение программы разделяемую память (зЬагей шелогу). Компилятор СгЛ)А С создает копию разделяемых переменных ( зЬаге1з ) в каждом блоке, и все вычислительные потоки используют их совместно. Буферы разделяемой памяти находятся в самих Стра, а не в общей памяти (РВАМ— динамическое запоминающее устройство с произвольной выборкой).
Таким образом, задержки при доступе к разделяемой памяти существенно меньше, чем к глобальной памяти (1ЖАМ). Чтобы вычислительные потоки взаимодействовали, необходим механизм синхронизации. Например, если вычислительный поток А записывает какое-либо значение в разделяемую память, то вычислительный поток В, использующий это значение, не должен приступать к работе, пока вычислительный поток А не завершил операцию.
17 Помимо глобальной и разделяемой памяти о1ЛП1А предоставляет и другие виды памяти. Константная память имеет ограничения по сравнению с глобальной, но дает большую производительность. Если обращения к константной памяти из всех потоков (Йгеад) происходят к одним и тем же данным только для чтения, то трафик между памятью и процессором уменьшается за счет трансляции результатов операции чтения на половину вычислительного блока (Ьа11' гагр) и за счет кэша памяти на кристалле. Доступ к памяти является узким местом во многих алгоритмах, поэтому наличие механизма, позволяющего улучшить производительность доступа, необходимо для эффективных вычислений.
Память графической карты изменяет скорость работы алгоритма в зависимости от способа доступа. Поэтому на графической плате реализовано несколько видов памяти. Глобальная память имеет возможность динамического случайного доступа (ОКАМ) и может хранить большой объем данных, но вносит большие задержки. Считывание одного байта из глобальной памяти происходит за 400-600 тактов, Но технология РВАМ памяти позволяет делать параллельный доступ, если выполнен запрос к последовательным блокам. В таком случае доступ к памяти происходит с максимальной пропускной способностью. Перед выполнением инструкции мультипотока аппаратное обеспечение проверяет, в какие блоки памяти будет запрос и назначает последовательность считывания.
1.2 Метод молекулярной динамики Молекулярная динамика (МВ) — это техника моделирования, в которой координаты и скорости частиц изменяются со временем по закону Ньютона под действием сил межатомного взаимодействия. Для численного решения системы уравнений движения задаются начальные значения и определенные граничные условия. Молекулярная динамика может рассматриваться как вариант решения задачи Ф тел.
Идея заключается в том, чтобы получить новые положения частиц с течением времени. В методе могут использоваться сложные потенциалы взаимодействия 18 атомов, на ближнем и дальнем расстоянии потенциалы могут выбираться разные в зависимости от физической структуры вещества. Пусть в системе имеется Ф атомов, атомы находятся в потенциальном поле Е„. Для моделирования взаимодействия атомов необходимо решить систему У уравнений: лгг, =Я ( — ЧЕ ), (1.1) /Ю где г,. — радиус-вектор атома с номером 1', и, — масса атома, ń— межатомный потенциал для частицы 1' и 1.
Схема вычислительного процесса показана на рис, 1.3. Выбрать подходящий потенциал Установить начальные значения координат г,(ге) и скоростей у,(1,) частиц Вычислить силы, действующие на частицы Обновить значения г,(1) и у,(1) Повтор Определить физические характеристики (энергия, температура, давление) Увеличить время 1„„=1„+л1 Рисунок 1.3. Схема метода молекулярной динамики (МП) В системе Ф атомов, которые занимают объем Р'(рис. 1.4) можно определить полную энергию Е = К+ с1, где К вЂ” кинетическая энергия: '3 .
2~1) ,,2 и У вЂ” потенциальная энергия: С1.2) С1.3) х Рисунок 1.4. Пример системы для молекулярно-динамического моделирования Метод молекулярно динамики основан на численном решение уравнений движения. Частицы, находящиеся в выделенном объеме, взаимодействуют друг с другом посредством заданного потенциала. Выбор потенциала взаимодействия частиц является наиболее важным этапом построения численной модели. Для решения уравнений движений используются конечно-разностные методы аппроксимации. 1.3 Методы аппроксимации уравнений движения Для интегрирования уравнений динамики частиц в молекулярно-динамическом моделировании наибольше распространение нашли схемы второго порядка точности. Дадим краткое описание этих схем: Алгоритм с перешагиванием записывается выражениями: г(1+61) = г(1)+я(1+ — Лг)И.
1 2 1 1 т (1+ — Ж) = я(1 — — А1)+ а(1)ог . 2 2 где г — радиус-вектор частицы, я — скорость, а — ускорение. (1.4) (1.5) 1 В этом методе скорости вычисляются в момент времени 1+ — Л1, и 2 используются для вычисления координаты в момент 1+л1. Таким образом, шаг по 20 скорости перешагивает через момент времени по координате. Преимуществом такого метода является явное вычисление скорости, недостатком является то, что координата и скорость вычисляются в разные моменты времени.
Скорость в момент времени можно определить выражением: 1 ~(~)=~ ъ(г — — ь~)+ъ~~+ — м) 2~ 2 2 (1.6) Для вывода схемы интегрирования нужно записать: г(Г+ Ле) = г(г) + мЯЬ|+ — аЯЫ, 1 2 (1.7) г(~- М = гЯ-чЯИ+ — ада~ . 2 г Суммируя эти выражения, получается: г(~+А~) = 2г(~) — г(к — Лг)+а(к)Л!'. г(к+ а) = г(~) + ч(к)ш'+ — а(~)Ы, 2 а(~+Л1) = Рф (1.10) ~(~+Лк) = ~(с)+ — [а(~)+а(~+Лг)]а.
1 2 В алгоритме явно используется скорость, для чего приходится выделять дополнительную память. В такой записи на момент ~+А~ для вычисления скорости необходимо хранить новые и предыдущие ускорения. Можно преобразовать запись 1 схемы так, что скорости будут обновляться в момент ~+ — Л~, и в таком случае 2 предыдущие ускорения на момент ~+ Л~ не потребуются: 21 Алгоритм Верле использует координаты и ускорения в момент времени г и координаты в момент времени г+Л~, чтобы вычислить новые координаты в момент времени ~+ Л~ . Преимушество такого алгоритма в том, что он прост и требует немного памяти для хранения данных на каждом шаге.
В качестве недостатка алгоритма можно отметить его недостаточную точность. Алгоритм Верле дает третий порядок точности вычисления координаты и второй порядок точности вычисления скорости. Наибольшее распространение получил метод скоростей Верле, который дает координаты, скорости, ускорения в момент времени и Схема записывается в виде: 1 1 т(~+ — Ьс) = тЯ+ — Ьс аЯ. г г Выражение для координат: (1.1 1) г(~+Л~) = г(г)+~1с ч(~+ — Лг).
1 2 Еще раз рассчитываются скорости: (1.12) т(г+Лг)=т(г+ — М)+ — Ы а(~+Ы). 1 1 (1.13) 2 2 Это позволяет сократить затраты памяти и уменьшить количество дополнительных преобразований с ускорениями. А В и(х) -- — + —, х х' (1.14) что эквивалентно записи: и(х) = 48 — — +— (1.15) Равновесное расстояние хо запишется: 1.4 Потенциалы межчастичного взаимодействия Простейшими потенциалами взаимодействия являются парные потенциалы, наиболее известный из которых — потенциал Леннарда-Джонса.
Расчет реальных структур, однако, требует использования более сложных многочастичных потенциалов, как, например, потенциал Бреннера. В общем случае действие межатомных потенциалов распространяется на бесконечное удаление. При моделировании действие потенциала ограничивают радиусом усечения г, Но простое усечение дает скачок энергии на его границе, поэтому применяется функция усечения, которая сглаживает действие потенциала. Выбирается расстояние г, так, что в интервале [г,,г,) потенциал и производная потенциала являются гладкими и стремятся к нулю. Если расстояние между атомами 1 и 1 превышается у;, то программа моделирования не учитывает действие атома ~' на атом ~. Таким образом, количество операций для Ф атомов уменьшается от У(У вЂ” 1) до Ж. и, где обычно и «Ф.
Потенциал Лени арда-Джонса (1.1) для двух атомов на расстоянии х записывается выражением: 1 ха —— 2'о = ~1.1б) а высота барьера е будет: А' 8= —. (1.17) 4В где А и  — притягивающая и отталкивающая константы потенциала Леннарда- Джонса. Однако для более точного описания широкого спектра свойств наносистем необходимо использовать многочастичные потенциалы, отражающие реальные свойства межчастичных связей. В качестве типичного представителя таких потенциалов в настоящей работе рассматривается потенциал Бреннера. С одной стороны, его использование позволяет исследовать довольно широкий класс наносистем, с другой — на примере этого потенциала можно отчетливо проследить основные проблемы молекулярно-динамического моделирования на графических процессорах.
Потенциал Бреннера второй модификации. 23 Этот потенциал учитывает разрывы в ковалентной связи и составлен с учетом возникающих изменений в гибридизации атома в рамках классического потенциала. Он дает мощный инструмент для моделирования сложных химических процессов в большинстве многоатомных систем. Этот усовершенствованный потенциал содержит улучшенные аналитические выражения для функций и расширенную базу данных по сравнению с первой модификацией потенциала Бреннера. Этот потенциал лучше описывает параметры системы: энергию связи, длину связи и коэффициент упругости для углеводородных молекул, а также свойства упругости, энергию внутренних дефектов и поверхностную энергию для алмаза.