CUDA, весна 2010

Материал из eSyr's wiki.

Перейти к: навигация, поиск

CUDA

Лекции (в основном) читал Алексей Викторович Боресков (steps3d@narod.ru), также был Александр Харламов.

Лекции прошлого года

Программа курса

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

Ссылки

Личные инструменты
Разделы