CUDA, весна 2010
Материал из eSyr's wiki.
Лекции (в основном) читал Алексей Викторович Боресков (steps3d@narod.ru), также был Александр Харламов.
[править] Программа курса
- Лекция 1.Введение. 16 февраля 2010 г., ауд. 685 2-й учебный корпус, 16.20
- Существующие многоядерные системы.
- GPU как массивно-параллельный процессор.
- CUDA "hello, world".
- Архитектура Tesla & Fermi и модель программирования CUDA.
- Лекция 2. Иерархия памяти CUDA. Глобальная и разделяемая память и ее использование. 2 марта 2010 г.
- Глобальная память.
- Работа с глобальной памятью.
- Коалесинг.
- Параллельные решения задач умножения матриц и решения СЛАУ.
- Задание #1.
- Лекция 3. Иерархия памяти CUDA. Глобальная и разделяемая память и ее использование (часть 2).9 марта 2010 г.
- Разделяемая память.
- Конфликты банков
- Реализация примитивов параллельного суммирования (reduce), префиксной суммы (scan) и построение гистограмм на CUDA.
- Лекция 4. Иерархия памяти CUDA.
- Текстуры в CUDA (cudaArray).
- Использование текстурных ссылок при работе с cudaArray, и pitch linear.
- Цифровая обработка сигналов.
- Простые фильтры (размытие, обнаружение границ, математическая морфология).
- Реализация операций свертки, быстрого преобразования Фурье, дискретного косинусного преобразования.
- Подавление шума, масштабирование сигнала.
- Задание #2.
- Лекция 5. Обработка видео.
- Использование PDE в обработке видео.
- Оптический поток.
- Лекция 6. Трассировка лучей.
- Синтез изображения..
- Пересечения луча с треугольником.
- Построение пространственного индекса.
- Трассировка дерева и решение уравнения освещения.
- Задание #3.
- Лекция 7. Решение PDE.
- Использование CUDA для решения уравнения теплопереноса.
- Использование CUDA для гидродинамики.
- Использование CUDA для моделирования циклотрона.
- Задачи математической физики
- Лекция 8. CUDA C, CUDA Driver API & OpenCL. OpenMP & MPI.
- Использование ptx и JIT
- Введение в OpenCL
- Программирование multi-GPU систем.
- Взаимодействие CUDA и OpenMP / MPI.
- Использование потоков команд.
- Задание #4.
- Лекция 9. Нейронные сети.
- Использование нейронных сетей при обработке физических данных.
- Использование нейронных сетей в обработке изображений.
- Лекция 10 Вопросы оптимизации CUDA
- Использование PTX
- Понятие занятости мультипроцессора
- CUDA Visual Profiler
- Nexus
- Задание #5.
- Лекция 11. Перспективы развития массивно-параллельных систем.
- Направления исследования.
- Показ студенческих работ.