Для студентов МГУ им. Ломоносова по предмету Дипломы и ВКРОтображение циклов с зависимостями на графический процессорОтображение циклов с зависимостями на графический процессор
2021-09-132024-09-08СтудИзба
ВКР: Отображение циклов с зависимостями на графический процессор
-67%
Описание
Аннотация
В данной работе исследованы методы отображения циклов с зависимостями по данным на графический процессор, один из них реализован в компиляторе Fortran-DVMH. Произведена оценка эффективности реализованного метода на примере некоторых тестов NASA. Разработан программный модуль, выполняющий генерацию кода для графического процессора, и реализован механизм динамического переупорядочивания массивов в системе поддержки Lib-DVMH.
1 Введение
За последние десятилетия во всех областях науки значительно выросла потребность в обработке огромного количества данных. Для этого необходимы мощные вычислительные системы. Из-за того, что стало невозможно увеличивать тактовую частоту процессора, появились многоядерные архитектуры, которые потребовали навыков параллельного программирования. В связи с нехваткой высококвалифицированных специалистов стало необходимым создание эффективных высокоуровневых технологий программирования. В результате стало происходить бурное развитие суперкомпьютерных технологий по всему миру. Пиковая производительность суперкомпьютеров TOP500 [1] растет с большой скоростью. В первой тройке рейтинга TOP500 на ноябрь 2013 года: суперкомпьютер Tianhe-2 с пиковой производительностью 54 PFlop/s, использующий новые ускорители компании Intel Xeon Phi 31S1P; Titan c пиковой производительностью 27 PFlop/s, который использует графические ускорители Tesla K20x, построенные на самой новой архитектуре Kepler [2]; Sequoia – BlueGene/Q c пиковой производительностью 20 PFlop/s, построенный на центральных процессорах Power BQC 16C. Графические ускорители (GPU) стали использоваться для неграфических вычислений, что позволило достичь ускорения работы приложений в десятки, а то и в сотни раз. Для написания программ, которые предназначены для выполнения на графическом процессоре, были разработаны специальные языки программирования: С–CUDA, Fortran– CUDA [3–6], OpenCL [7], OpenACC [8] и другие.
1.1 Графический процессор для неграфических вычислений
Графический процессор (Graphics Processing Unit, GPU) – микропроцессор, используемый для обработки графической информации. Изначально он был предназначен для формирования трехмерного изображения и позволял разгрузить центральный микропроцессор от выполнения операций, связанных с расчетами геометрических трансформаций, моделей освещения и т.д. Как правило, графическим процессором оснащены все современные видеокарты. Термин Graphics Processing Unit был впервые использован корпорацией NVIDIA для обозначения того факта, что графический ускоритель, первоначально используемый только для ускорения трехмерной графики, стал мощным программируемым устройством (процессором), пригодным для решения значительно более широкого класса вычислительных задач. Основные отличительные особенности GPU по сравнению с центральным процессором следующие: ∙ архитектура GPU максимально нацелена на увеличение скорости расчета текстур и сложных графических объектов; ∙ GPU имеет ограниченный набор команд и иное устройство процессора.
![]()
В данной работе исследованы методы отображения циклов с зависимостями по данным на графический процессор, один из них реализован в компиляторе Fortran-DVMH. Произведена оценка эффективности реализованного метода на примере некоторых тестов NASA. Разработан программный модуль, выполняющий генерацию кода для графического процессора, и реализован механизм динамического переупорядочивания массивов в системе поддержки Lib-DVMH.
1 Введение
За последние десятилетия во всех областях науки значительно выросла потребность в обработке огромного количества данных. Для этого необходимы мощные вычислительные системы. Из-за того, что стало невозможно увеличивать тактовую частоту процессора, появились многоядерные архитектуры, которые потребовали навыков параллельного программирования. В связи с нехваткой высококвалифицированных специалистов стало необходимым создание эффективных высокоуровневых технологий программирования. В результате стало происходить бурное развитие суперкомпьютерных технологий по всему миру. Пиковая производительность суперкомпьютеров TOP500 [1] растет с большой скоростью. В первой тройке рейтинга TOP500 на ноябрь 2013 года: суперкомпьютер Tianhe-2 с пиковой производительностью 54 PFlop/s, использующий новые ускорители компании Intel Xeon Phi 31S1P; Titan c пиковой производительностью 27 PFlop/s, который использует графические ускорители Tesla K20x, построенные на самой новой архитектуре Kepler [2]; Sequoia – BlueGene/Q c пиковой производительностью 20 PFlop/s, построенный на центральных процессорах Power BQC 16C. Графические ускорители (GPU) стали использоваться для неграфических вычислений, что позволило достичь ускорения работы приложений в десятки, а то и в сотни раз. Для написания программ, которые предназначены для выполнения на графическом процессоре, были разработаны специальные языки программирования: С–CUDA, Fortran– CUDA [3–6], OpenCL [7], OpenACC [8] и другие.
1.1 Графический процессор для неграфических вычислений
Графический процессор (Graphics Processing Unit, GPU) – микропроцессор, используемый для обработки графической информации. Изначально он был предназначен для формирования трехмерного изображения и позволял разгрузить центральный микропроцессор от выполнения операций, связанных с расчетами геометрических трансформаций, моделей освещения и т.д. Как правило, графическим процессором оснащены все современные видеокарты. Термин Graphics Processing Unit был впервые использован корпорацией NVIDIA для обозначения того факта, что графический ускоритель, первоначально используемый только для ускорения трехмерной графики, стал мощным программируемым устройством (процессором), пригодным для решения значительно более широкого класса вычислительных задач. Основные отличительные особенности GPU по сравнению с центральным процессором следующие: ∙ архитектура GPU максимально нацелена на увеличение скорости расчета текстур и сложных графических объектов; ∙ GPU имеет ограниченный набор команд и иное устройство процессора.



Файлы условия, демо
Характеристики ВКР
Предмет
Учебное заведение
Просмотров
3
Размер
719,64 Kb
Список файлов
Отображение циклов с зависимостями на графический процессор.pdf

Ваше удовлетворение является нашим приоритетом, если вы удовлетворены нами, пожалуйста, оставьте нам 5 ЗВЕЗД и позитивных комментариев. Спасибо большое!