Дипломная работа


Скачать 0.75 Mb.
Название Дипломная работа
страница 1/15
Тип Диплом
rykovodstvo.ru > Руководство эксплуатация > Диплом
  1   2   3   4   5   6   7   8   9   ...   15
Московский Государственный Университет им. М.В. Ломоносова

Факультет вычислительной математики и кибернетики

Кафедра системного программирования


Дипломная работа

Средства анализа эффективности выполнения программ на языке Fortran DVMH на кластере с графическими процессорами

Выполнил:

Шуберт Алексей Владимирович

Научный руководитель:

Профессор, д.ф.-м.н.

Крюков Виктор Алексеевич


Москва

2014 г.

Аннотация

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

Содержание


1Введение 3

1.1Модели параллельного программирования 6

1.2OpenMP 7

1.3MPI 7

1.4OpenACC и CUDA 8

1.5OpeanCL 8

1.6 DVM-система 8

1.7DVMH-подситема 9

2Анализ эффективности 9

2.1DVM PA 10

3Постановка задачи 12

3.1Базовые требования к библиотеке 13

3.2Дополнительные требования 13

4Анализ существующих характеристик 14

4.1Механизмы извлечения характеристик 14

4.2Механизмы CUPTI API 15

4.2.1Интерфейс сбора информации о деятельностях (Activity API) 16

4.2.2Интерфейс функций-обработчиков (Callback API) 18

4.2.3Интерфейс сбора событий (Event API) 18

4.2.4Интерфейс сбора характеристик (Metric API) 19

4.2.5Выводы о применимости 20

4.3Характеристики и методы оптимизации 21

4.3.1Классы характеристик эффективности DVMH-программ. 21

4.3.2Стратегии вычисления характеристик. 23

4.3.3Список характеристик, измеряемых на CPU. 24

4.3.4Список характеристик, измеряемых на GPU. 29

4.4Необходимый набор характеристик 32

5Анализ инструментария 33

5.1The PAPI CUDA Component 33

5.2TAU Performance System 34

5.3VampirTrace 35

5.4Результаты анализа 36

6Проектирование решения задачи 36

6.1Концепция 37

6.1.1Трасса и интервалы 38

6.1.2Регионы 42

6.1.3Записи о копировании 42

6.1.4Записи о выделенной памяти 42

6.1.5Счетчики 42

6.1.6Записи об исполнении интервала. 43

6.1.7Отражение CUDA окружения 43

6.2Интерфейс 44

6.2.1Способы конфигурирования 44

6.2.2Список опций конфигурирования 45

6.2.3Поддержка многопоточности 52

6.2.4Управление выводом 53

6.2.5Управление сбором характеристик 54

6.2.6Отладка 55

6.3Схема данных 56

6.3.1Состояние и конфигурация 56

6.3.2Трасса 57

6.3.3Отображение на интервалы 59

7Построение решения задачи 60

8Полученные результаты 62

8.1Документация 62

8.2Пример работы 62

8.2.1Конфигурации запуска 62

8.2.2Результаты 62

9 Заключение 63

10 Список литературы 64

Приложение А. 65

Приложение Б. 66

Приложение В. 68

Приложение Г. 69

Приложение Д. 70


1Введение


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

Абстрактное мышление претворяло простое любопытство в процесс познания, на протяжении которого знания не только собирались, структурировались, но и делались примитивные выводы на основе обобщения. Человек мог обобщать их в нечто большее – в модели.

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

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

Особенно остро проблема ощущалась во времена воин. Шанс выиграть зависел от информации, которой обладала одна из строн. Таким образом шла война за информацию, и, соответственно, каждая сторона старалась как можно лучше скрыть информацию, и как можно больше информации получить от противников. В ход шла криптография и сложные вычисления. Расчет был на то, что информация должна устареть на тот момент, когда ее расшифруют в случае перехвата.

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

Появились первые ЭВМ. И человечество вступило на новую ступень технологического прогресса. Появились интегральные микросхемы и процессоры. Появились вычислительные центры, а с ними и новые более сложные задачи и проблемы.

В 1965 году на основании своих наблюдений Гордон Мур выявил зависимость: количество транзисторов в интегральной схеме с минимальной стоимостью удваивается каждые 18 месяцев. Однако, в силу атомарной природы вещества и ограниченной скорости света, очевидно, что закон Мура перестанет действовать в обозримом будущем.

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

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

Проблема сложных математических вычислений стояла не только в научной сфере, но также и сферах, которые издревле были близки человеку и являлись источником дохода, а значит коммерчески выгодными. Здесь имеется ввиду сфера развлечений.

Человеком создавались компьютерные игры, и чем больше становилось игр, тем требовательнее был к ним рынок. Особенно привлекательной стала компьютерная графика и ее приближение к реальности.

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

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

Со временем задачи становились все сложнее. Одной из самой сложных задач по сей день является задача расчета теней. Появились специальные подпрограммы для графических ускорителей. Они брали свое название из первоначальной задачи, которую ставили перед ними – шейдеры (Shade – (англ.) тень).

Вскоре программисты-экспериментаторы разглядели в шейдерах возможность, которая являлась побочным эффектом. С их помощью можно было решать математические задачи на графических ускорителях.

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

Таким образом, на текущий момент, у инженеров-разработчиков программного обеспечения, присутствуют мощные инструменты для оптимизации программы путем распределения вычислений:

  1. Распределение вычислений по нитям;

  2. Распределение вычислений по процессам в рамках одного процессора;

  3. Распределение процессов по нескольким процессорам;

  4. Распределение вычислений на графические ускорители.

Нить - наименьшая единица обработки, исполнение которой может быть назначено ядром операционной системы. Реализация потоков выполнения и процессов в разных операционных системах отличается друг от друга, но в большинстве случаев поток выполнения находится внутри процесса. Несколько потоков выполнения могут существовать в рамках одного и того же процесса и совместно использовать ресурсы, такие как память, тогда как процессы не разделяют этих ресурсов. В частности, потоки выполнения разделяют инструкции процесса (его код) и его контекст (значения переменных, которые они принимают в любой момент времени).

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

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

Для успешного применения инструментария были разработаны модели параллельного программирования, о которых пойдет речь далее.
  1   2   3   4   5   6   7   8   9   ...   15

Похожие:

Дипломная работа icon Дипломная работа по теме: “ Интерактивная база данных по дендраклиматологии” Работу
Моя дипломная работа очень актуальна, потому что дендроклиматология – малоизученная и малоизвестная область биологии. Дендроклиматология...
Дипломная работа icon Негосударственное образовательное учреждение среднего профессионального...
...
Дипломная работа icon Дипломная работа содержит таблиц, литературных источников 11 и графических приложений 4
Дипломная работа содержит таблиц, литературных источников – 11 и графических приложений – 4
Дипломная работа icon Дипломная работа
Факторы, влияющие на решение по выбору системы электронного документооборот
Дипломная работа icon Дипломная работа
Квалификация: Художественный руководитель музыкально-инструментального коллектива, преподаватель
Дипломная работа icon Дипломная работа
Защита персональных данных: ответственность за нарушения трудового законодательства
Дипломная работа icon Дипломная работа проектирование и внедрение
Охватывают почти все действия с платформой Asterisk
Дипломная работа icon Дипломная работа
Институт переподготовки и повышения квалификации кадров по финансово-банковским специальностям
Дипломная работа icon Дипломная работа
Уставные преобразования в скитской жизни в начале ХХ века и численность братства
Дипломная работа icon Дипломная работа
Федеральное государственное автономное образовательное учреждение высшего профессионального образования
Дипломная работа icon Министерство образования и науки Челябинской области гбу дпо «Челябинский...
Использование активных форм обучения как условие формирования профессиональных компетенций
Дипломная работа icon Дипломная работа
Современное состояние конъюнктивальной микрофлоры пациентов до и после хирургического лечения катаракты
Дипломная работа icon Дипломная работа реализация механизма аутентификации
Федеральное государственное бюджетное образовательное учреждение высшего образования
Дипломная работа icon Дипломная работа «Допущена к защите»
Введение Глава 1 Эволюция международного туризма как формы внешнеэкономической деятельности
Дипломная работа icon Дипломная работа
Анализ состояния геоинформационных технологий в решении типовых задач управления региональной недвижимостью Тульской области
Дипломная работа icon Дипломная работа на тему: «Реализация сервисов многоцелевого поиска и заказа группы товаров»
Научный руководитель к ф м н., доц. Н. Г. Графеева

Руководство, инструкция по применению




При копировании материала укажите ссылку © 2024
контакты
rykovodstvo.ru
Поиск