Изменение пароля
Пользователь
anonymous
Текущий пароль
*
Новый пароль
*
Подтверждение
*
Запомнить меня
Забыли пароль?
Электронная библиотека (16+)
Впервые на сайте?
Вход
/
Регистрация
Национальный цифровой ресурс
Национальный цифровой ресурс Руконт - межотраслевая электронная библиотека (ЭБС) на базе технологии Контекстум (всего произведений: 686791)
Для выхода нажмите Esc или
Основы работы с технологией CUDA (3000,00 руб.)
0
0
Первый автор
Боресков А. В.
Авторы
Харламов А. А.
Издательство
М.: ДМК Пресс
Страниц
233
Предпросмотр
ID
795152
Аннотация
Данная книга посвящена программированию современных графических процессоров (GPU) на основе технологии CUDA от компании NVIDIA. В книге разбираются как сама технология CUDA, так и архитектура поддерживаемых GPU и вопросы оптимизации, включающие использование .PTX. Рассматривается реализация целого класса алгоритмов и последовательностей на CUDA. На сайте издательства www.дмк.рф выложены примеры решения на CUDA реальных задач с большим объемом вычислений из широкого класса областей, включая моделирование нейронных сетей, динамику движения элементарных частиц, геномные исследования и многое другое.
ISBN
978-5-97060-715-2
УДК
004.4
ББК
32.973.26-018.2
Боресков, А.В. Основы работы с технологией CUDA / А.А. Харламов; А.В. Боресков .— Москва : ДМК Пресс, 2019 .— 233 с. : ил. — ISBN 978-5-97060-715-2 .— URL: https://rucont.ru/efd/795152 (дата обращения: 07.01.2026)
Популярные
Введение в теорию игр: учебное пособие
110,00 руб
Этика и права человека в информационном ...
220,00 руб
Блок-схемы на основные технологические ц...
220,00 руб
Программирование технологических контрол...
200,00 руб
Современные направления развития измерит...
150,00 руб
Библиотековедение, библиографоведение и ...
290,00 руб
Вы уже смотрели
Осваиваем C++17 STL. Используйте компоне...
4000,00 руб
Разработка методов биотехнологического п...
110,00 руб
Операционные системы реального времени и...
173,00 руб
От джуна до сеньора. Как стать востребов...
2025,00 руб
Предпросмотр (выдержки из произведения)
Резюме документа
Страницы
Текст
Основы_работы_с_технологией_CUDA.pdf
Стр.3
Стр.4
Стр.5
Стр.6
Стр.7
Основы_работы_с_технологией_CUDA.pdf
УДК 32.973.26-018.2 ББК 004.4 Б82 Б82 Боресков А. В., Харламов А. А. Основы работы с технологией CUDA. – М.: ДМК Пресс, 2019. – 232 с.: ил. ISBN 978-5-97060-715-2 Данная книга посвящена программированию современных графических процессоров (GPU) на основе технологии CUDA от компании NVIDIA. В книге разбираются как сама технология CUDA, так и архитектура поддер живаемых GPU и вопросы оптимизации, включающие использование .PTX. Рассматривается реализация целого класса алгоритмов и последователь ностей на CUDA. На сайте издательства www.дмк.рф выложены примеры решения на CUDA реальных задач с большим объемом вычислений из широкого класса облас тей, включая моделирование нейронных сетей, динамику движения эле ментарных частиц, геномные исследования и многое другое. УДК 32.973.26-018.2 ББК 004.4 Все права защищены. Любая часть этой книги не может быть воспроизведена в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения вла дельцев авторских прав. Материал, изложенный в данной книге, многократно проверен. Но поскольку вероятность технических ошибок все равно существует, издательство не может гарантировать абсолютную точность и правильность приводимых сведений. В связи с этим издательство не несет ответ ственности за возможные ошибки, связанные с использованием книги. ISBN 978-5-97060-715-2 © Боресков À. Â., Харламов À. À. © Оформление, издание, ДМК Пресс
Стр.3
Содержание Глава 1. Существующие многоядерные системы. Эволюция GPU. GPGPU .................................................................... 7 1.1. Многоядерные системы .................................................................. 8 1.1.1. Intel Core 2 Duo и Intel Core i7 .................................................... 8 1.1.2. Архитектура SMP ..................................................................... 9 1.1.3. BlueGene/L ............................................................................. 10 1.1.4. Архитектура GPU .................................................................... 11 1.2. Эволюция GPU ............................................................................... 11 Глава 2. Модель программирования в CUDA. Программноаппаратный стек CUDA........................................ 17 2.1. Основные понятия ......................................................................... 17 2.2. Расширения языка C...................................................................... 22 2.2.1. Спецификаторы функций и переменных ................................ 22 2.2.2. Добавленные типы ................................................................. 23 2.2.3. Добавленные переменные ..................................................... 23 2.2.4. Директива вызова ядра .......................................................... 23 2.2.5. Добавленные функции ........................................................... 24 2.3. Основы CUDA host API ................................................................... 26 2.3.1. CUDA driver API ....................................................................... 27 2.3.2. CUDA runtime API .................................................................... 27 2.3.3. Основы работы с CUDA runtime API ........................................ 31 2.3.4. Получение информации об имеющихся GPU и их возможностях ........................................................................... 31 2.4. Установка CUDA на компьютер ...................................................... 34 2.5. Компиляция программ на CUDA .................................................... 35 2.6. Замеры времени на GPU, CUDA events .......................................... 41 2.7. Атомарные операции в CUDA ........................................................ 42 2.7.1. Атомарные арифметические операции .................................. 42 2.7.2. Атомарные побитовые операции ........................................... 44 2.7.3. Проверка статуса нитей warp’а .............................................. 44 Глава 3. Иерархия памяти в CUDA. Работа с глобальной памятью ..................................................... 45 3.1. Типы памяти в CUDA ...................................................................... 45 3.2. Работа с константной памятью ...................................................... 46 3.3. Работа с глобальной памятью........................................................ 47 3.3.1. Пример: построение таблицы значений функции с заданным шагом ........................................................................... 49 3.3.2. Пример: транспонирование матрицы..................................... 49 3.3.3. Пример: перемножение двух матриц ..................................... 50
Стр.4
4 Содержание 3.4. Оптимизация работы с глобальной памятью ................................. 51 3.4.1. Задача об Nтелах .................................................................. 55 Глава 4. Разделяемая память в CUDA и ее эффективное использование ............................................. 59 4.1. Работа с разделяемой памятью ..................................................... 59 4.1.1. Оптимизация задачи об N телах ............................................. 60 4.1.2. Пример: перемножение матриц ............................................. 62 4.2. Паттерны доступа к разделяемой памяти ...................................... 66 4.2.1. Пример: умножение матрицы на транспонированную ............ 69 Глава 5. Реализация на CUDA базовых операций над массивами – reduce, scan, построения гистограмм и сортировки ............................................................. 72 5.1. Параллельная редукция ................................................................. 72 5.2. Нахождение префиксной суммы (scan).......................................... 79 5.2.1. Реализация нахождения префиксной суммы на CUDA............ 80 5.2.2. Использование библиотеки CUDPP для нахождения префиксной суммы .......................................................................... 86 5.3. Построение гистограммы .............................................................. 88 5.4. Сортировка ................................................................................... 98 5.4.1. Битоническая сортировка ...................................................... 98 5.4.2. Поразрядная сортировка ..................................................... 101 5.4.3. Использование библиотеки CUDPP ...................................... 102 Глава 6. Архитектура GPU, основы PTX ................................. 106 6.1. Архитектура GPU Tesla 8 и Tesla 10 ............................................... 106 6.2. Введение в PTX ............................................................................ 108 6.2.1. Типы данных ......................................................................... 111 6.2.2. Переменные ......................................................................... 112 6.2.3. Основные команды .............................................................. 114 Глава 7. Иерархия памяти в CUDA. Работа с текстурной памятью ................................................... 121 7.1. Текстурная память в CUDA ........................................................... 122 7.2. Обработка цифровых сигналов .................................................... 123 7.2.1. Простые преобразования цвета ........................................... 124 7.2.2. Фильтрация. Свертка ........................................................... 128 7.2.3. Обнаружение границ ............................................................ 134 7.2.4. Масштабирование изображений.......................................... 137 Глава 8. Взаимодействие с OpenGL ....................................... 142 8.1. Cоздание буферного объекта в OpenGL ...................................... 142 8.2. Использование классов ............................................................... 143
Стр.5
Содержание 5 8.3. Пример шума Перлина ................................................................ 147 8.3.1. Применение ......................................................................... 150 Глава 9. Оптимизации .................................................................. 152 9.1. PTXассемблер ............................................................................ 155 9.1.1. Занятость мультипроцессора .............................................. 156 9.1.2. Анализ PTXассемблера ....................................................... 157 9.2. Использование CUDAпрофайлера.............................................. 161 Приложение 1. Искусственные нейронные сети ............... 163 П1.1. Введение................................................................................... 163 П1.1.1. Задачи классификации (Classification) ............................... 163 П1.1.2. Задачи кластеризации (Clustering)..................................... 164 П1.1.3. Задачи регрессии и прогнозирования ............................... 164 П1.2. Модель нейрона ........................................................................ 165 П1.3. Архитектуры нейронных сетей................................................... 166 П1.4. Многослойный персептрон ....................................................... 166 П1.4.1. Работа с многослойным персептроном ............................. 167 П1.4.2. Алгоритм обратного распространения ошибки ................. 169 П1.4.3. Предобработка данных ...................................................... 171 П1.4.4. Адекватность данных ......................................................... 171 П1.4.5. Разбиение на наборы ......................................................... 171 П1.4.6. Порядок действий при работе с многослойным персептроном ............................................................................... 172 П1.5. Персептроны и CUDA ................................................................ 173 П1.5.1. Пример задачи реального мира ......................................... 174 П1.6. Литература ................................................................................ 178 Приложение 2. Моделирование распространения волн цунами на GPU....................................................................... 179 П2.1. Введение................................................................................... 179 П2.2. Математическая постановка задачи .......................................... 181 П2.3. Программная модель ................................................................ 183 П2.4. Адаптация алгоритма под GPU .................................................. 186 П2.5. Заключение ............................................................................... 191 П2.6. Литература ................................................................................ 191 Приложение 3. Применение технологии NVIDIA CUDA для решения задач гидродинамики ....................................... 193 П3.1. Введение................................................................................... 193 П3.2. Сеточные методы ...................................................................... 194 П3.2.1. Геометрический многосеточный метод ............................. 195 П3.2.2. Алгебраический многосеточный метод .............................. 197 П3.2.3. Метод редукции ................................................................. 198
Стр.6
6 Содержание П3.2.4. Оценка эффективности...................................................... 199 П3.3. Метод частиц ............................................................................ 200 П3.4. Статистическая обработка результатов .................................... 201 П3.5. Обсуждение .............................................................................. 202 П3.6. Литература ................................................................................ 203 Приложение 4. Использование технологии CUDA при моделировании динамики пучков в ускорителях заряженных частиц .......................................... 205 П4.1. Введение................................................................................... 205 П4.2. Особенности задачи.................................................................. 205 П4.3. Использование многоядерных процессоров ............................. 208 П4.4. Реализация на графических процессорах ................................. 210 П4.5. Результаты ................................................................................ 214 П4.6. Литература ................................................................................ 216 Приложение 5. Трассировка лучей ......................................... 218 П5.1. Обратная трассировка лучей ..................................................... 219 П5.1.1. Поиск пересечений ............................................................ 221 П5.1.2. Проблемы трассировки лучей на GPU ................................ 222 П5.1.3. Ускорение поиска пересечений ......................................... 223 П5.2. Оптимизация трассировки лучей для GPU ................................. 228 П5.2.1. Экономия регистров .......................................................... 228 П5.2.2. Удаление динамической индексации ................................. 229 П5.3. Литература ................................................................................ 230
Стр.7
Облако ключевых слов *
* - вычисляется автоматически
Мы используем куки, чтобы сделать сайт удобней для вас.
Подробнее
Хорошо