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. Лекция 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. Показ студенческих работ.

[править] Ссылки

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