CUDA, весна 2010
Материал из eSyr's wiki.
(Различия между версиями)
(Новая: =CUDA= Лекции (в основном) читал Алексей Викторович Боресков (steps3d@narod.ru), также был Александр Харламов. ==...) |
|||
(1 промежуточная версия не показана) | |||
Строка 1: | Строка 1: | ||
- | =CUDA= | ||
- | |||
Лекции (в основном) читал Алексей Викторович Боресков (steps3d@narod.ru), также был Александр Харламов. | Лекции (в основном) читал Алексей Викторович Боресков (steps3d@narod.ru), также был Александр Харламов. | ||
+ | |||
+ | [[CUDA, весна 2009|Лекции прошлого года]] | ||
==Программа курса== | ==Программа курса== | ||
Строка 61: | Строка 61: | ||
## Направления исследования. | ## Направления исследования. | ||
## Показ студенческих работ. | ## Показ студенческих работ. | ||
- | |||
- | ==Программа курса 2009== | ||
- | |||
- | # 24 февраля: Введение. Существующие многоядерные системы. GPU как массивно-параллельный процессор. CUDA "hello, world" | ||
- | # 3 марта: Архитектура Tesla и модель программирования CUDA. | ||
- | # 10 марта: Иерархия памяти CUDA. Глобальная память. Параллельные решения задач умножения матриц и решения СЛАУ. | ||
- | # 17 марта: Иерархия памяти CUDA. Разделяемая память. Реализация примитивов параллельного суммирования (reduce) и префиксной суммы (scan) на CUDA. | ||
- | # 24 марта: Иерархия памяти CUDA. Текстуры в CUDA. Цифровая обработка сигналов: реализация операций свертки, быстрого преобразования Фурье. | ||
- | # 31 марта: Нерегулярный параллелизм в цифровой обработке сигналов. | ||
- | # 7 апреля: Особенности реализации алгоритмов трассировки лучей на CUDA. | ||
- | # 14 апреля: Решение дифференциальных уравнений на CUDA на примере задач гидродинамики. | ||
- | # 21 апреля: Программирование многоядерных GPU. Кластеры из GPU. | ||
- | # 28 апреля: Вопросы оптимизации приложений на CUDA. | ||
- | # 12 мая: Перспективы развития массивно-параллельных систем. Направления исследования. | ||
==Ссылки== | ==Ссылки== |
Текущая версия
Лекции (в основном) читал Алексей Викторович Боресков (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. Перспективы развития массивно-параллельных систем.
- Направления исследования.
- Показ студенческих работ.