• A
  • A
  • A
  • АБВ
  • АБВ
  • АБВ
  • А
  • А
  • А
  • А
  • А
Обычная версия сайта

Параллельные вычисления на графических ускорителях

2018/2019
Учебный год
RUS
Обучение ведется на русском языке
4
Кредиты
Статус:
Курс по выбору
Когда читается:
1-й курс, 1, 2 модуль

Программа дисциплины

Аннотация

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

Цель освоения дисциплины

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

Планируемые результаты обучения

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

Содержание учебной дисциплины

  • История возникновения графических ускорителей. Архитектура видеокарты
    Отличия от центрального процессора (warps/wavefronts, code divergence). Использование локальной памяти и выставление барьеров доступа к ней. Сoalesced global memory access, local memory banks conflicts.
  • Примеры алгоритмов. Общий обзор
    Симуляция взаимного притяжения тел. Перемножение матриц. Сортировки: bitonic sort, radix sort, merge sort. Обнаружение столкновения объектов (BVH, Z-Order Curve, Morton code). Poisson surface reconstruction (Parallel Octree, Look Up Tables). Вариационные методы (Total Variation, Image Denoising, 3D surface reconstruction). Задача растеризации (hardware rasterization, software rasterization on CPU, Larabee, GPGPU software rasterization). Профилирование и оптимизация. OpenMP. PyOpenCL, CUDA, multi-GPU.
Элементы контроля

Элементы контроля

  • неблокирующий Домашнее задание 1
  • неблокирующий Домашнее задание 2
  • неблокирующий Экзамен
Промежуточная аттестация

Промежуточная аттестация

  • Промежуточная аттестация (2 модуль)
    0.25 * Домашнее задание 1 + 0.25 * Домашнее задание 2 + 0.5 * Экзамен
Список литературы

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

Рекомендуемая основная литература

  • Friesen, J. (2015). Java Threads and the Concurrency Utilities. [Berkeley, CA]: Apress. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=1118905
  • Herlihy, M., & Shavit, N. (2012). The Art of Multiprocessor Programming, Revised Reprint. Burlington: Morgan Kaufmann. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=460894

Рекомендуемая дополнительная литература

  • Deng, Y. (2012). Applied Parallel Computing. Singapore: World Scientific. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=545490
  • Малявко А. А.-ПАРАЛЛЕЛЬНОЕ ПРОГРАММИРОВАНИЕ НА ОСНОВЕ ТЕХНОЛОГИЙ OPENMP, MPI, CUDA 2-е изд., испр. и доп. Учебное пособие для академического бакалавриата-М.:Издательство Юрайт,2019-129-Высшее образование-978-5-534-11827-8: -Текст электронный // ЭБС Юрайт - https://biblio-online.ru/book/parallelnoe-programmirovanie-na-osnove-tehnologiy-openmp-mpi-cuda-446247