Екатеринбург: Уральский университет, 2016. — 104 с. — ISBN: 978-5-7996-1722-6.
В учебном пособии изложены основные принципы организации высокоскоростных параллельных вычислений на графических процессорах. Рассмотрены подходы к программированию графических процессоров с использованием шедерной модели и NVIDIA CUDA. Проанализированы примеры.
Пособие предназначено для проведения практических занятий по программированию графических процессоров для магистрантов.
Введение.
Структура и возможности вычислительной системы с графическим процессором.
Задача компьютерной визуализации трехмерных сцен.
Архитектура графического процессора (GPU).
Уровни управления графическим процессором и основные системы программирования GPU.
Области применения графических процессоров.
Необходимое аппаратное и программное обеспечение.
Средства программирования.
Поточнопараллельное программирование GPU.
Распараллеливание расчетов.
Преимущества графических процессоров при параллельных расчетах.
Принцип программирования SIMD на примере пиксельного шейдера.
Пример сложения матриц.
Программирование графических процессоров на CUDA.
Модель программирования графических процессоров как универсальных вычислительных систем.
Особенности программирования на CUDA.
Анализ алгоритма параллельного перемножения матриц.
Динамика N тел на CUDA. Пример ускорения программы за счет скорости GPU.
Распараллеливание алгоритмов сортировки. Пример ускорения программы за счет скорости GPU.
Заключение.
Приложение.
Перемножение матриц на CUDA. Программа, исполняемая центральным процессором.
Вычисление скалярного произведения векторов на CUDA.
Компиляция программ на CUDA.
Профайлер.
Библиографический список.