Диссертация (786409), страница 3
Текст из файла (страница 3)
Практическая ценность Представленная в диссертации технология программирования дает возможность повысить эффективность разработки программного обеспечения для моделирования динамических систем на графических процессорах, использовать и расширять уже существующие программные модули, осуществлять интеграцию разрабатываемых программных средств с имеющимися программными комплексами. Разработанные в диссертации методы и средства математического моделирования имеют высокую значимость с точки зрения перспектив их применения для исследования диффузионных и тепловых процессов в наносистемах. Результаты диссертационного исследования могут быть исполыюваны при составлении образовательных курсов по методам программирования для графических процессоров и математическому моделировашпо наносистем. Апробация работы.
Материалы диссертации докладывались и обсуждались на следующих российских и международных форумах: УП1 Международная конференция по неравновесным процессам в соплах и струях (ЯРАГ 2012), 25-31 мая 2012 г., Алушта. 11-я Международная конференция «Авиация и космонавтика — 2012», 13-15 ноября 2012 г., Москва. 55-я научная конференция МФТИ, 19-25 ноября 2012 г., Долгопрудный. 11 ХУП Международная конференция по вычислительной механике и современным прикладным программным системам 1ВМСПСС'2013), 22-31 мая 2013 г., Алушта.
15-я Международная конференция «Авиация и космонавтика — 2016», 14-18 ноября 2016 г., Москва. 16-я Международная конференция «Авиация и космонавтика — 2017», 20-24 ноября 2017 г., Москва. Публикации. По теме диссертации опубликовано 11 работ 1105-1151, из них 4 статьи в научных журналах из перечня ВАК РФ для представления основных научных результатов диссертаций на соискание ученых степеней доктора и кандидата наук. Список публикаций приведен в конце работы. Структура и содержание работы.
Диссертация состоит из введения„четырех глав, заключения, списка литературы, глоссария. В работе содержится 20 таблица, 95 рисунков и 115 библиографических ссылок. Общий объем работы составляет 160 страниц. Во введении диссертационной работы дается постановка задачи, рассматриваются области применения нанотрубок, определяется схема компьютерного моделирования. Обосновывается преимущество видеопроцессоров при вычислениях динамики молекул. Дается обзор литературы по применению графических процессоров в молекулярно-динамическом моделировании наноструктур и обоснование актуальности темы диссертационной работы, сформулированы цели и задачи, отмечена научная новизна, представлены данные по апробации работы и перечислены авторские публикации по теме. В первой главе работы дано описание задач молекулярно-динамического моделирования и способов их реализации на графических процессорах.
ОР11 состоят из множества вычислительных ядер, которые выполняют простые функции, и работают параллельно при выполнении одинакового кода. Во второй главе представлена технология программирования, которая позволяет эффективно моделировать углеродные наноструктуры на графических процессорах. Рассматривается ячеистая модель пространства, которая уменьшает сложность вычисления до 0(Л1). Ячеистая модель расширена до гибридной модели, сочетающей в себе ячеистую модель и систему списков соседних атомов.
При параллельных вычислениях такое расширение позволяет избежать перекрестных запросов памяти. Приводится расчет вычислительной сложности; показано, что наиболее длительные операции при достаточном объеме памяти имеют сложность О(М). Приводится оценка масштабного ускорения; так как изменить количество графических процессоров возможно при замене видеокарты, то основным методом оценки эффективности является измерение времени выполнения при увеличении объема данных. Так как данные находятся в памяти графической карты, то результаты моделирования возможно отображать на мониторе в реальном времени. С использованием разработанной технологии алгоритмы реализованы в программном комплексе, который предоставляет расширение архитектуры С1Л)А.
Вычислительные потоки объединяются в блоки и запускаются в соответствии с требованиями алгоритмов. Данные для вычислительных потоков распределяются, сортируются, переразмещаются в памяти таким образом, что не происходит перекрестных запросов. В третьей главе даются результаты различных компьютерных экспериментов по моделированию наноструктур на графических процессорах. Проведен анализ вычислительной сложности, затрат памяти и производительности СРБ и ОРУ. В четвертой главе исследуется задача моделирования теплопроводности в наносистемах с использованием разработанного программного комплекса.
По центру образцов подводится тепловой импульс, после чего моделируется его распространение вдоль наноструктуры. Затем определяется характер распространения тепла. Для описания обнаруженных аномальных режимов предложено использовать дробно-дифференциальную математическую модель уравнения теплопроводности. В заключении перечисляются основные результаты, полученные в ходе выполнения диссертационной работы. 13 Глава 1. Постановка задачи молекулярно-динамического моделирования на графических процессорах 1.1 Архитектура графических процессоров ХУ1Р1А В отличие от современных универсальных центральных процессоров (СРП), видеочипы предназначены для параллельных вычислений с большим количеством арифметических операций.
Большее число транзисторов графических процессоров (ОРУ) работает по прямому назначению — обработке массивов данных, а не управляет исполнением (Йои соп1го1) немногочисленных последовательных вычислительных потоков. В современных СРУ присутствует небольшое количество ядер — 4 арифметическо-логических устройства (АШ), блок управления (Соп~го1), устройство кэширования (Сасне), оперативная память (ВКАМ). В современных ОРУ устанавливают большое количество ядер, несколько блоков управления и кэширования, большой объем общей памяти. С начала 2000-х годов ОР(1 вычисляли цвета пикселей на экране с помощью программируемых арифметических устройств и пиксельных шейдер ов (р1хе1 зЬадег). Пиксельный шейдер получает на входе координаты (х, у) точки на экране и дополнительную информацию, а на выходе должен выдать конечный цвет этой точки.
В качестве дополнительной информации могут выступать входные цвета, текстурные координаты или иные атрибуты, передаваемые шейдеру на этапе его выполнения. Так как арифметические действия над входными цветами и текстурами контролируются программистом, то в качестве данных могут выступать не только цвета. В ноябре 2006 года МЫР?А выпустила серию видеокарт Оерогсе на основе архитектуры СОВА. В отличие от предыдущих поколений ОРУ, в которых вычислительные потоки подразделялись на вершинные и пиксельные шейдеры, в архитектуру С()ОА включен унифицированный шейдерный конвейер, позволяющий программе общего назначения задействовать любое арифметическо-логическое устройство (АШ).
Поскольку МЛ01А рассчитывала, что новое семейство графических процессоров будет использоваться для вычислений общего назначения, то АШ были сконструированы с учетом требований 1ЕЕЕ (англ. 1пз111вге о1' Е1есгг(са1 апд Е1есггошсз Епяшеегз) к арифметическим операциям над 14 числами с плавающей точкой одинарной точности, Кроме того, был разработан набор команд, ориентированный на вычисления общего назначения, а не только на графику. Устройствам ОРО разрешен произвольный доступ к памяти для чтения и записи, а также доступ к программно-управляемой кэш-памяти. Эти средства были добавлены в архитектуру СШ)А с целью создать ОРО, который отлично справлялся бы с вычислениями общего назначения.
В качестве первой доступной видеокарты, которая использовалась для моделирования, приведем одну из самых первых с поддержкой СШ)А ОеРогсе 8600 ба. Она имеет следующие характеристики: память С1ХПЖЗ 256 Мб, 4 мультипроцессора по 8 потоков, частоту памяти 1050 МГц, пропускную способность шины 128 бит, Это значит, что видеокарта способна выполнять 32 шага цикла вычислений за один такт. Если функция в цикле не приводит к рассинхронизации вычислительных потоков, то это дает преимущество в 32 раза по сравнению с 1 ядром процессора. Архитектура вычислителей СНА состоит из параллельных экземпляров ядра. Эти параллельные экземпляры называются вычислительными блоками. Исполняющая среда СОВА позволяет расщепить блоки на вычислительные потоки (Жгем).
Запуск вычислительного ядра выглядит следующим образом: йыпсььоп«< пытв1осм, пшпть<еабя »>(с(еч а, <(еч ь, с(еч с) где питВ1ос(сг, питТгеасЬ вЂ” количество вычислительных блоков и потоков, Ие~ а, Не~ Ь, сй~ с — некоторые аргументы, передаваемые ядру. Первый параметр обозначается количество вычислительных блоков, второй параметр в угловых скобках говорит, сколько вычислительных потоков создать для каждого блока. В этом примере конфигурируется питВ1осЫ блоков, состоящих из пит Тгеайз вычислительных потоков, всего получается питВ(ас((з*иит Тгеаа( параллельных вычислителей. Для программирования на бРО производства ЫЧПЭ1А используется технология СООА 130]. Согласно архитектуре СОПА вычислительные потоки организованы в блоки (рис.
1.1). 15 Рисунок 1.1. Логическое представление вычислительных блоков Каждый блок имеет не менее 32 потоков. Все потоки в блоке выполняют одинаковый набор инструкций, однако ветвления внутри программы могут нарушать синхронность исполнения. Особенностью программирования на ОРУ является доступ к памяти. Устройства имеют большую пропускную способность памяти, но и большую задержку при обращении по заданному адресу. Во время обращения к памяти может формироваться множество запросов. Если потоки из вычислительного блока обращаются к близким адресам памяти, то несколько запросов могут быть сгруппированы в один и исполнены параллельно. Это свойство используется для повышения эффективности вычислительного процесса в задачах молекулярной динамики.