Содержание (Содержание задания)

PDF-файл Содержание (Содержание задания) Технология CUDA на кластерах с GPU (109455): Другое - 12 семестр (4 семестр магистратуры)Содержание (Содержание задания) - PDF (109455) - СтудИзба2021-08-18СтудИзба

Описание файла

PDF-файл из архива "Содержание задания", который расположен в категории "". Всё это находится в предмете "технология cuda на кластерах с gpu" из 12 семестр (4 семестр магистратуры), которые можно найти в файловом архиве МГУ им. Ломоносова. Не смотря на прямую связь этого архива с МГУ им. Ломоносова, его также можно найти и в других разделах. .

Просмотр PDF-файла онлайн

Текст из PDF

  Содержание     Модуль 1. Введение. Аппаратно­программная архитектура CUDA Презентации лекций: cuda_course_part1.pdf ­  cuda_course_part2.pdf 1.   Преимущества CUDA, место CUDA в современном HPC 2.   Архитектура GPU в сравнении с архитектурой CPU, понятие Compute Capability, Fermi и Kepler 3.   Гибридное программирование CPU+GPU: сетки, ядра, запуск ядер, управление памятью GPU 4.   Модель исполнения Nvidia SIMT: очередь блоков, выполнение блоков варпами, сравнение с SIMD и SMP, масштабируемость 5.   Гибридное программирование CPU+GPU: выбор устройства, обработка ошибок, асинхронность в CUDA, потоки и события, вычисление времени выполнения 6.   Компиляция и запуск программ с использованием CUDA   Модуль 2. Иерархия памяти Презентации лекций:  cuda_course_part2.pdf ­ cuda_course_part4.pdf 1.   Глобальная память: выделение, кеши L1 и L2, транзакции, шаблоны доступа, распространеные приемы: набивка матриц, раздельное хранение полей структур 2.   Разделяемая память: выделение и особенности использования; синхронизация; банки общей памяти, различия между Fermi и Kepler, банк­конфликты 3.   Константная память: выделение и особенности использования; однородные обращения, причины неявного использования константной памяти. 4.   Регистры и локальная память: особенности выделения регистров, различия между Fermi и Kepler; причины неявного использования локальной памяти 5.   Расчет occupancy: ­Xptxas –v  и CUDA occupancy calculator  Модуль 3. Профилирование и отладка Презентации лекций:  cuda_course_part5.pdf 1.   Профилировщик с графическим интерфейсом nvvp; события и метрики 2.   Профилирование из консоли: command line profiler, nvprof 3.   Удаленное профилирование 4.   Отладка при помощи cuda­gdb: основные расширения, распространенные сценарии использования   Модуль 4. Продвинутое использование CUDA Презентации лекций: cuda_course_part6.pdf ­ cuda_course_part8.pdf 1.   Pinned­память: выделение и особенности, доступ к памяти CPU напрямую из ядер, неблокирующие копирования, ускорение блокирующих копирований 2.   UVA – единое виртуальное адресное пространство всех GPU и CPU 3.   CUDA­потоки: аппаратные возможности, разбор случаев применения, различия между Fermi и Kepler, синхронизация потоков 4.   Multi­GPU: CUDA­контекст; multi­GPU с одним CPU­потоком, c использованием OpenMP, с использованием MPI 5.   Peer­to­peer копирования между GPU,  прямой доступ к памяти другого GPU  Модуль 5. Компиляция CUDA­кода Презентации лекций: cuda_course_part9.pdf  1.   Устройство драйвера компиляции NVCC: цепочка компиляции, вспомогательные программы,  полезные флаги 2.   Виртуальные и физические архитектуры: проблема совместимости, промежуточный код PTX,  компиляция под различные архитектуры, неявная JIT­компиляция, Compiler Cache 3.   Объектные модули: CUBIN, FATBIN, встраивание FATBIN в объектные файлы с CPU­кодом, cuobjdump 4.   Линковка CUDA­модулей: relocalable код, схема линковки, флаги 5.   Низкоуровневый анализ программ: PTX и ассемблер 6.   Явная JIT­компиляция при помощи cudaDriverAPI Задания  Задание 1. Перемножение матриц на GPU  Описание задания: cuda_course_task_matmul.pdf  Этап 1. Простейшее перемножение   Реализовать  программу,  выполняющую  перемножение  прямоугольных матриц  с  использованием  CUDA  и  проверку   результата.  Программа принимает  через  командную  строку  размеры  матриц  и  необязательный  флаг  проверки  результата.

  Генерирует  случайным  образом  матрицы, выполняет  перемножение  на  GPU  и  CPU  (если  требуется  проверить результат),  выводит  в  командную   строку  время  работы  CUDA­ядра  и результат проверки, если был задан флаг.  Этап 2. Оптимизация загруженности GPU и обращений в глобальную память В  программу  из  предыдущего  этапа добавить набивка (padding) в матрицы для выравнивания начал строк.  Этап 3. Использование разделяемой памяти В  программу  из  предыдущего  этапа  добавить  ручное  дополнение  матриц нулями  до  размеров, кратных 32. Реализовать ядро перемножения матриц с   использованием  общей  памяти,  при  выполнении  которого  каждая  нить рассчитывает два элемента матрицы­результата.  Отчет.  Таблица результатов тестов времени работы ядра Размеры матриц Простейшее  Перемножение матриц с  Перемножение матриц с общей перемноженнабивкой памятью ие   Сетка из блоков 32х32 Сетка из блоков 32х32 Сетка из блоков 32х16 Нить считает один элемент, Сетка из блоков 32х32 Нить считает два элемента, Сетка из блоков 32х16 1792х1792        1793х1793       …      2048х2048         Представить графическое представление таблицы результатов тестов в виде графиков, объяснение полученных результатов, исходные тексты программ.  Задание 2.  Однокубитовая квантовая операция на GPU  Описание задания: cuda_course_task_quantum.pdf  Этап 1. Однокубитовая операция Реализовать  программу,  выполняющую  однокубитовую  квантовую операцию  с  использованием  CUDA.  Программа  принимает  через командную  строку  число   кубитов,  индекс  кубита,  над   которым  нужно  провести  операцию,  и  необязательный  флаг  проверки  результата. Программа  генерирует  суперпозицию  состояний  квантового  регистра  и квантовый  вентиль,  применяет  квантовый  вентиль  к  указанному  кубиту регистра на  GPU  и на CPU (если треубется проверить результат), выводит в  командную  строку  время  работы  CUDA­ядра  и   копирований  памяти между CPU и GPU, выводит результат проверки, если был задан флаг  Этап 2. Последовательность однокубитовых операций с общей памятью В  программе  из  предыдущего  этапа  одиночную однокубитовую  операцию обобщить  до  последовательности  однокубитовых,  применяемых  к последним  кубитам  регистра.  Программа  принимает  через  командную строку  размер  региста,  число  кубитов  b  и  необязательный  флаг  проверки результата.  Программа  выполняет  на  GPU   два  CUDA­ядра,  поочередно применяющие  квантовый  вентиль  к  b  последним  кубитам  регистра:  с хранением  промежуточных  результатов  в  разделяемой  памяти  и  без, выводит  в  командную  строку  время  работы ядра с разделяемой памятью, время  работы  ядра  без разделяемой памяти и результаты проверки, если был задан флаг.  Отчет.  Таблица результатов тестов времени работы ядра при максимальном числе кубитов Индекс кубита Однокубитовая квантовая операция Ядро 0   Копирования между CPU и GPU   1     ..     N­1       b Применение вентиля к b последним кубитам Ядро без общей памяти Ядро с общей памятью 1     …     10           Представить графическое представление таблицы результатов тестов в виде графиков, объяснение полученных результатов, исходные тексты программ.   Задание 3. Фильтрация изображений  с матричным фильтром  Описание задания:  cuda_course_task_filtering.pdf  Этап 1. Базовый вариант Реализовать программу, выполняющую на GPU фильтрацию (корреляцию) изображения  с   квадратным  матричным   фильтром.  Программа  работает как  с  реальными  данными  (изображениями),  так  и  с  синтетическими  – для тестов  GPU­реализации.  Для  проверки  результатов  работы  программа сохраняет  на  диск  фильтрованные  изображения.

  В   качестве  входных данных  программа  принимает  из  командной строки размер фильтра  и путь к графическому  файлу,  либо  размеры  синтетической матрицы. Программа загружает  входное  изображение  или  генерирует  синтетические  данные, последовательно  применяет  на  GPU  два  фильтра,  выводит  в  консоль время  работы  ядер  и  копирований,  сохраняет  результрующее изображение.  Этап 2. Использование потоков В  программу  из  предыдущего  этапа  добавить  использование  нескольких потоков  для  одновременного  копирования  данных  и  счета  ядра,  число потоков передается через параметр командной строки.  Этап 3. Использование multi­GPU В  программу  из  предыдущего  этапа  добавить  использование  нескольких GPU, число GPU передается через параметр командной строки.  Отчет.    Таблица результатов тестов на синтетических данных Размер матрицы Размер ядра фильтра Суммарное время копирований +  время счета для ядра Базовый вариант С четырьмя потоками С четырьмя multi­GPU​, на каждом 4 потока 1024х1024 N1       1024х1024 N2       2048х1024 N3       … ….         Представить  графическое  представление  таблицы  результатов  тестов  на синтетических  данных  в  виде  столбчатых  диаграмм,  объяснение полученных  результатов,  исходные  тексты  программ,  скриншоты профилировщика  nvvp  для  каждого  этапа,  демонстрирующие  эффект  от использования  потоков  и multi­GPU. Корректность работы на каждом этапе подтвердить примерами генерируемых изображений на реальных данных.    .

Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5209
Авторов
на СтудИзбе
430
Средний доход
с одного платного файла
Обучение Подробнее