> Рассылка
Ваше имя :
E-Mail :
Формат :

 >

  Программирование графических процессоров
 
Информация:

МОСКОВСКИЙ АВИАЦИОННЫЙ ИНСТИТУТ
(ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ)
«МАИ»

осенний семестр 2011г.

25 лекций

8 лаборатоных

 Программа:
 

Лекция 1

Введение в дисциплину. История развития графических процессоров.

- Транспьютеры
- Специализированные векторные возможности (SSE2 и SSE3)
- Области применения параллельных расчётов на GPU
- Первые попытки применения расчётов на GPU
- GPGPU
- CUDA (Compute Unified Device Architecture) и CTM (Close To Metal или AMD Stream Computing)
- Возможности NVIDIA CUDA
- Преимущества и ограничения CUDA
- Состав NVIDIA CUDA

Лекция 2

Основная терминология курса: шейдер, хост, устройство, SM, ROP, TPC, SP.  Типы параллельных архитектур: SISD, MISD, SIMD, MIMD, DSP.

- Схематическое изображение графического адаптера
- Классификация вычислительных систем по Флинну
- Схематическое устройство SMP
- Multithreading
- Bottleneck

Лекция 3

Необходимость распараллеливания графической обработки.

- Критерии использования параллельной обработки
- Графические объекты, обработка
- Матричные операции
- Преобразования Фурье
- Дифференциальные уравнения
- Гистограммы
- MD симуляция
- Сеточные модели (явные схемы)
- Нейронные сети
- Финансовые прогнозы
- Шифрование, кодирование, прямой перебор

Лекция 4

Архитектурные различия между GPU и CPU. Скорости доступа для различных слотов.
- Архитектура CPU
- Архитектура GPU
- PCI, PCIe, DDR3, DDR5

Лекция 5  

Критерии применимости параллельных вычислений. Примеры применения параллельных вычислений.

  1. Критерии применимости параллельных вычислений
  2. Капли дождя на воде
  3. Движение дымных частиц
  4. Волнение океана

 

Лекция 6

Различные типы параллельных систем. Классическая и гибридная схема.

 

Лекция 7

Кластеры и суперкомпьютеры на гибридной схеме.

- Кластерные системы
- Гибридные системы
- Топ 500

Лекция 8

Сравнение классической архитектуры Intel и AMD.

- Классическая архитектура Intel
- Классическая архитектура AMD
- Классическая архитектура Эльбрус

Лекция 9

Принципиальное отличие классической и CUDA-архитектуры GPU.

  1. Классическая архитектура GPU
  2. CUDA архитектура GPU

Лекция 10

Необходимость единой архитектуры графических вычислительных устройств. Сравнительные характеристики чипов G80, G92, G200, G300 NVIDIA.

- Сравнение различных чипов графических адаптеров от NVidia
- Архитектура чипа G80
- Архитектура чипа G200
- Архитектура чипа Tesla 8
- Архитектура чипа Tesla 10
- Архитектура чипа Fermi

Лекция 11

Объединённая архитектура графических процессоров. Основные элементы аппаратной реализации GPU.

Лекция 12

             Преимущества унифицированной архитектуры. Составные части аппаратной реализации: TPC (текстурный процессорный кластер), SM (потоковый мультипроцессор), SP (потоковый процессор).

Лекция 13

Буфер инструкций SM. Регистровый файл SM.

Лекция 14

Конвейеры исполнения команд.

Лекция 15

Особенности программирования под GPU.

Лекция 16

Основные модификации языка C для графической обработки.

- Расширения языка С
- Спецификаторы функций
- Спецификаторы переменных
- Ограничения
- Новые типы данных
- Встроенные переменные

Лекция 17

Понятия треда, варпа, блока и грида.

- Устройство (Device)
- Хост (Host)
- Тред, нить, поток (Thread)
- Варп (Warp, Half-warp)
- Блок (Block)
- Грид (Grid)
- Ядро (Kernel)

Лекция 18

Ветвление внутри варпа.

Лекция 19

Программный стек CUDA.

  1. Основы создания программ на CUDA
  2. Модель программирования CUDA

 

Лекция 20

Описание пользовательского интерфейса разработчика, основные компоненты системы программирования.

- Cостав CUDA runtime библиотеки
- Директивы запуска ядра
- Основные функции Runtime-API
- NVCC компилятор для CUDA

Лекция 21

 

Глобальная, константная, текстурная, локальная, совместно используемая и регистровая память. Особенности использования различных видов памяти. Распределение   данных по видам памяти.

  1. Модель памяти CUDA
  2. Глобальная память Global memory
  3. Локальная память Local memory
  4. Разделяемая память Shared memory
  5. Память констант Constant memory
  6. Текстурная память Texture memory
  7. Регистровая память Register memory

 

Лекция 22

Команды работы с памятью. Пример вызова функций CUDA.

- Типы памяти в CUDA
- Использование глобальной памяти
- cudaMalloc
- cudaMemcpy
- cudaFree
- Использование разделяемой памяти
- __syncthreads()

  1. Использование константной памяти
  2. Использование текстурной памяти
  3. Нормализация адресов
  4. Преобразование адресов
  5. Фильтрация
  6. Преобразование данных

Лекция 23

Сравнение производительности глобальной и текстурной памяти на задачах произвольного чтения. Характерные размеры памяти различных видов на примере чипа G200. Когерентное взаимодействие с глобальной памятью.

  1. Размеры памяти различных видов
  2. CUDA compute compability

Лекция 24

Оптимизация основных алгоритмов параллельного исполнения: Scan, Reduce, Histogram, Bitonic sort.

  1. Reduce
  2. Scan
  3. Histogram
  4. Sort

Лекция 25

            Обзор курса, итоги.

 
 
 >
 
 
 
 
 >
  > Поиск
Введите слово для поиска :
 > Наш опрос
Активных опросов на данный момент нет.
 
© 2010 Контрольные и курсовые ФЗФЭИ [ PG.t : 0.28 | DB.q : 6 | DB.t : 0.00 ]