- •Курс лекций
- •Оглавление
- •1. Архитектура и принципы работы обычных эвм с центральным процессором (cpu) 9
- •2. Методы повышения производительности традиционных эвм 27
- •3. Типы архитектур высокопроизводительных вычислительных систем 45
- •4. Потоковые параллельные вычисления для физического моделирования 62
- •5. Применение графических процессоров на примерах сложения матриц и решения дифференциальных уравнений 82
- •6. Молекулярная динамика на графическом процессоре 100
- •7. Высокоскоростное моделирование систем с дальнодействием 125
- •8. Восстановление потенциалов межчастичных взаимодействий по температурной зависимости периода решетки методами высокоскоростного мдм на графических процессорах 145
- •9. Базовые особенности программирования графических процессоров шейдерной модели 4.0 160
- •Введение
- •1.Архитектура и принципы работы обычных эвм с центральным процессором (cpu)
- •1.1.Структура традиционной эвм
- •1.2.Организация работы эвм
- •1.3.Иерархия памяти компьютера
- •1.4. Выполнение команд
- •1.5.Требования к коммуникационным линиям
- •1.6.Устройства ввода-вывода
- •2.Методы повышения производительности традиционных эвм
- •2.1. Распараллеливание расчетов
- •2.2.Конвейерная обработка данных и команд
- •2.3.Высокопроизводительные процессоры
- •2.3.1.Суперскалярные процессоры
- •2.3.2.Процессоры risc с сокращенным набором команд
- •2.3.3.Процессоры со сверхдлинным командным словом
- •2.3.4.Векторные процессоры
- •2.3.5.Процессоры для параллельных компьютеров
- •2.3.6.Процессоры с многопоточной архитектурой
- •2.3.7.Технология Hyper-Threading
- •2.4.Требования к памяти высокопроизводительных эвм
- •2.5.Коммуникационная сеть высокопроизводительных эвм
- •2.5.1.Статические и динамические топологии и маршрутизация коммуникационных систем
- •2.5.2.Многокаскадные сети и методы коммутации
- •2.6.Классификация архитектур параллельных компьютеров
- •3.Типы архитектур высокопроизводительных вычислительных систем
- •3.1.Simd архитектура (с разделяемой и распределенной памятью)
- •3.2. Mimd архитектура с разделяемой и распределенной памятью
- •3.3. Комбинированные системы
- •3.4. Мультипроцессорные и мультикомпьютерные системы
- •3.5.Кластеры пэвм и рабочих станций
- •3.6.Особенности параллельного программирования
- •4.Потоковые параллельные вычисления для физического моделирования
- •4.1.Общие принципы распараллеливания расчётов
- •4.2.Обмен данными между процессором и памятью
- •4.3.Графические процессоры как вычислительные системы для поточно-параллельных расчётов
- •4.3.1.Вычислительные возможности центральных процессоров общего назначения и графических процессоров
- •4.3.2.Графический конвейер
- •4.3.3.История программируемости графических процессоров
- •4.3.4.Требования к алгоритмам для gpu, поддерживающих шейдерную модель 3.0
- •4.3.5.Возможности gpu в рамках шейдерной модели 3.0 и взаимодействие gpu с памятью
- •4.3.6.Проблема одинарной точности
- •4.4.Средства программирования графических процессоров
- •4.4.1.Общая структура программы для физического моделирования на графическом процессоре
- •4.4.2.Необходимое программное обеспечение
- •4.5.Области использования графических процессоров
- •5.Применение графических процессоров на примерах сложения матриц и решения дифференциальных уравнений
- •5.1.Распараллеливание независимых вычислений
- •5.2.Используемый графический процессор
- •5.3.Представление данных для графического процессора
- •5.4.Программирование вычислительного ядра
- •5.5.Взаимодействие центрального и графического процессоров
- •5.5.1.Функции центрального процессора
- •5.5.2.Пример программы
- •6.Молекулярная динамика на графическом процессоре
- •6.1.Принципы моделирования ионных кристаллов методом молекулярной динамики
- •6.2.Программирование графического процессора для расчёта действующих на ионы результирующих сил
- •6.2.1.Исходные данные
- •6.2.2.Представление исходных данных для gpu
- •6.2.3.Алгоритм расчёта результирующих сил с использованием графического процессора
- •6.2.4.Шейдер для расчёта результирующей силы
- •6.3.Исполнение шейдера из программы мд-моделирования на c#
- •6.3.1.Этапы алгоритма моделирования, исполняемые на cpu
- •6.3.2.Процедуры на c#, обеспечивающие работу с графическим процессором
- •6.4.Постановка граничных условий и стабилизация макросостояния молекулярно-динамической системы
- •6.4.1.Компенсация импульса и момента импульса
- •6.4.2.Стабилизация температуры
- •7.Высокоскоростное моделирование систем с дальнодействием
- •7.1.Актуальность моделирования
- •7.2.Высокоскоростные алгоритмы моделирования систем с дальнодействующими силами
- •7.3.Методика высокоскоростного молекулярно-динамического моделирования диоксида урана
- •7.4.Экспериментальные результаты и их обсуждение
- •7.5.Анализ зависимостей среднего квадрата смещений ионов кислорода от времени
- •8.Восстановление потенциалов межчастичных взаимодействий по температурной зависимости периода решетки методами высокоскоростного мдм на графических процессорах
- •8.1.Задача восстановления потенциалов межчастичных взаимодействий в кристаллах
- •8.2.Исходные данные и метод восстановления потенциалов
- •8.3.Модель и детали реализации
- •9.Базовые особенности программирования графических процессоров шейдерной модели 4.0
- •9.1.Предпосылки появления новой шейдерной модели
- •9.2.Архитектура gpu шейдерной модели 4.0. Преимущества этой модели
- •9.2.1.Иерархия вычислительных блоков и памяти в шейдерной модели 4.0
- •9.2.2.Конвейерная обработка данных на gpu sm4
- •9.2.3.Логическая структура вычислений на gpu sm4
- •9.2.4.Преимущества gpu шейдерной модели 4.0
- •9.3.Средства высокоуровневого программирования gpu шейдерной модели 4.0
- •9.3.1.Совместимость с шейдерной моделью 3.0
- •9.3.2.Специальные средства программирования gpu sm4. Cuda
- •9.3.3.Средства для написания и компиляции программ на cuda
- •9.3.4.Структура программы на cuda
- •9.4.Перемножение матриц на cuda
- •9.4.1.Алгоритм перемножения матриц
- •9.4.2.Процедура перемножения матриц на gpu sm4
- •9.4.3.Вызов процедуры перемножения матриц из программы на c
- •9.5.Молекулярная динамика на cuda
- •9.5.1.Алгоритм с использованием разделяемой памяти
- •9.5.2.Расчёт сил на gpu с использованием 3-го закона Ньютона
- •Библиографический список
- •Приложение 1 Операторы и функции языка hlsl, использованные в курсе лекций п.1.2. Типы данных
8.Восстановление потенциалов межчастичных взаимодействий по температурной зависимости периода решетки методами высокоскоростного мдм на графических процессорах
8.1.Задача восстановления потенциалов межчастичных взаимодействий в кристаллах
Моделирование физических систем методами частиц (в частности, методом молекулярной динамики) предполагает описание взаимодействия этих частиц посредством некоторых модельных потенциалов взаимодействия (например, ). Точность моделирования в очень большой мере определяется адекватностью используемых потенциалов, которые в принципе можно либо рассчитывать из первых принципов (для чего обычно используют квантово-химические методы), либо восстанавливать из экспериментальных данных. Высокоскоростное поточно-параллельное моделирование можно эффективно применять как при квантово-химических расчётах, так и для поиска параметров потенциалов, обеспечивающих наилучшее совпадение свойств модели с экспериментом. Ниже мы рассмотрим решение задачи восстановления из экспериментальных данных парных потенциалов взаимодействия ионов в кристалле диоксида урана.
8.2.Исходные данные и метод восстановления потенциалов
В качестве опорных экспериментальных данных для восстановления параметров парных потенциалов взаимодействия (ПП) мы использовали зависимости теплового расширения периода кристаллической решетки различных типов АО-топлива при атмосферном давлении [37].
МД моделирование проводили в периодических граничных условиях (ПГУ) для исключения поверхностных эффектов; тогда объем модельного кристалла при данной температуре связан с его периодом решетки соотношением: V(T) = c*L(T)3, где с – количество элементарных ячеек в периодически-транслируемой кубической области.
Искали параметры ПП, которые минимизируют среднеквадратичное отклонение периода решетки (или объема кристалла с заданным числом частиц) от экспериментального во всем диапазоне температур от комнатной до точки плавления 300~3100К при нулевом внутреннем давлении. Атмосферным давлением ~0.1 МПа пренебрегали в сравнении с давлениями 0.3~3 ГПа (см. рис. 1 и рис. 2), возникающими в кристалле при отклонениях периода решетки на 0.001~0.01 ангстрем (далее просто Å).
Для получения среднего периода решетки в «изобарном» МД-моделировании (при заданном числе частиц, давлении и температуре – NPT) требуется релаксация к равновесию и усреднение колебаний объема кристалла под действием баростата с периодом порядка 1-10 пикосекунд (далее просто пс), который определяется константой баростата. При этом из уравнения состояния следует, что отклонения объема при данной температуре однозначно определяются соответствующими отклонениями давления – к примеру, непосредственно из определения изотермической сжимаемости: dlnV = –BTdP.
Однако, для получения среднего давления в «изохорном» МД-моделировании (при заданном числе частиц, объеме и температуре – NVT) требуется релаксация к равновесию и усреднение лишь тепловых колебаний частиц около положений равновесия, период которых меньше на 1-2 порядка ~0.1 пс (см. табл. 8.1).
Таблица 8.1
Сравнение NVT и NPT типов МД-моделирования.
Тип МД-моделирования |
NVT |
NPT |
Тип усредняемых колебаний |
Тепловые колебания частиц около положений равновесия |
Колебания объема кристалла под действием баростата |
Период колебаний, пс |
~0.1 |
~1-10 (зависит от константы баростата) |
Время релаксации, пс |
2 |
25-250 |
Время усреднения, пс |
2-10 (увеличивается с ростом температуры) |
50-500 |
Общее время МД-моделирования на 1 точку температуры, пс |
4-12 |
75-750 |
Рис. 8.1. Колебания давления и «средние» при разных температурах в NVT МД.
Рис. 8.2. Отклонения давления и периода от их экспериментальных температурных зависимостей, приведенные к одному масштабу.
Поэтому для решения оптимизационной задачи за наименьшее время мы использовали NVT-моделирование (при постоянстве количества частиц, объёма и температуры) и минимизировали отклонения от экспериментальных значений уравнения состояния по давлению, вместо объема (периода решетки), а NPT-моделирование (при постоянном нулевом давлении вместо постоянства объёма) температурной зависимости периода решетки применяли лишь для заключительной оценки качества полученных ПП.
На рис. 8.1 показаны характерные кривые колебаний давления для NVT-моделирования диоксида урана при температурах 300 К (комнатной) и 3100 К (близкой к плавлению) и их усреднение по времени. Видно, что на временах порядка 10 пс «средние» приходят к своим равновесным значениям.
На рис. 8.2 приведены графики отклонения периода и давления от экспериментальных при одинаковом масштабе, видно, что кривая давления (в NVT) воспроизводит все особенности температурной зависимости отклонения периода (в NPT) – знаки функции и первых двух производных. Тем не менее, можно отметить количественные отличия между кривыми, нарастающие с температурой, эти отличия обусловлены нелинейной зависимостью уравнения состояния твердого тела от температуры. Поэтому оценка отклонений периода по давлению на высоких температурах является заниженной (максимальное отличие наблюдается вблизи плавления и достигает ~0.01 Å).
