Глава 1. Существующие многоядерные системы.Эволюция GPU. GPGPU Многоядерные системы Intel Соге 2 Duo и Intel Соге i7 Архитектура SMP BlueGenejL Архитектура GPU Эволюция GPU

Глава 2. Модель программирования в CUDA.Программно-аппаратный стек CUDA Основные понятия Расширения языка С Спецификаторы функций и переменных Добавленные типы Добавленные переменные Директива вызова ядра Добавленные функции Основы CUDA host API CUDA driver API CUDA runtime API Основы работы с CUDA runtime API Получение информации об имеющихся GPU и их возможностях Установка CUDA на компьютер Компиляция программ на CUDA Замеры времени на GPU, CUDA events Атомарные операции в CUDA Атомарные арифметические операции Атомарные побитовые операции Проверка статуса нитей warp'a

Глава3. Иерархия памяти в CUDA.Работа с глобальной памятью Типы памяти в CUDA Работа с константной памятью Работа с глобальной памятью Пример: построение таблицы значений функции с заданным шагом Пример: транспонирование матрицы При мер: перемножение двух матриц Оптимизация работы с глобальной памятью Задача об N-телах

Глава 4. Разделяемая память в CUDA и ее эффективное использование Работа с разделяемой памятью Оптимизация задачи об N телах Пример: перемножение матриц Паттерны доступа к разделяемой памяти Пример: умножение матрицы на транспонированную

Глава 5. Реализация на CUDA базовых операций над массивами - reduce, scan, построения

гистограмм и сортировки Параллельная редукция Нахождение префиксной суммы (scan) Реализация нахождения префиксной суммы на CUDA Использование библиотеки CUDPP для нахождения префиксной суммы Построение гистограммы Сортировка Битоническая сортировка Поразрядная сортировка Использование библиотеки CUDPP

Глава б. Архитектура GPU, основы РТХ Архитектура GPU Tesla 8 и Tesla 10 Введение в РТХ Типы данных Переменные Основные команды

Глава 7. Иерархия памяти в CUDA. Работа с текстурной памятью Текстурная память в CUDA Обработка цифровых сигналов Простые преобразования цвета Фильтрация. Свертка Обнаружение границ Масштабирование изображений

Глава 8. Взаимодействие с OpenGL Создание буферного объекта в OpenGL Использование классов При мер шума Перлина Применение

Глава 9. Оптимизации РТХ-ассемблер Занятость мультипроцессора Анализ РТХ-ассемблера использование СUDА-профайлера

Приложение 1. Искусственные нейронные сети Задачи классификации (Classification) Задачи кластеризации (Clustering) Задачи регрессии и прогнозирования Модель нейрона Архитектуры нейронных сетей Многослойный персептрон Работа с многослойным персептроном Алгоритм обратного распространения ошибки Предобработка данных. Адекватность данных Разбиение на наборы Порядок действий при работе с многослойным персептроном Персептроны и CUDA Пример задачи реального мира Литература

Приложение 2. Моделирование распространения волн цунами на GPU Введение Математическая постановка задачи Программная модель Адаптация алгоритма под GPU Заключение Литература

Приложение З. Применение технологии NVIDIA CUDA ДЛЯ решения задач гидродинамики Введение Сеточные методы Геометрический многосеточный метод Алгебраический многосеточный метод Метод редукции Оценка эффективности Метод частиц Статистическая обработка результатов Обсуждение Литература

Приложение 4. Использование технологии CUDA при моделировании динамики пучков в ускорителях заряженных частиц Введение Особенности задачи Использование многоядерных процессоров Реализация на графических процессорах Результаты Литература

Приложение 5. Трассировка лучей Обратная трассировка лучей Поиск пересечений Проблемы трассировки лучей на GPU Ускорение поиска пересечений Оптимизация трассировки лучей дЛЯ GPU Экономия регистров Удаление динамической индексации Литература