рус eng
 
 Резюме
 Работа
 Публикации
 Заметки
 Образование
 Увлечения
 
Разработка приложений на CUDA
Факультативный курс для студентов ФИТ, ФФ и ММФ НГУ (Объявление)
Lectures notes
  • Введение (pdf)
  • CUDA. API (pdf)
  • Текстуры в CUDA (pdf)
  • Оптимизация программ (pdf)
  • CUDA Driver API (pdf)
  • Адаптация программ для GPU (pdf)
  • Использование нескольких GPU (pdf)
  • Введение в OpenCL (pdf)
  • Оптимизированные библиотеки для GPU
  • Дополнительно. Оптимизация программ (pdf)

Tasks
ssh: 193.124.211.18:10022
  1. Изучить примеры. Какая размерность сети и потокового блока для программы перемножения матриц?
  2. Написать программу поэлементного сложения массивов длинной 106 элементов. Необходимо замерить время выполнения этой программы на CPU и GPU; сравнить результат.
  3. Реализовать программу для накладывания фильтров на изображения. Возможные фильтры: размытие, выделение границ, избавление от шума. Реализовать два варианта программы, а именно: с применением разделяемой памяти и текстур. Сравнить время.

    Для работы с графическими файлами рекомендуется использовать libpng (man libpng). Примеры использования библиотеки в /usr/share/doc/libpng12-dev/examples/

    Ссылки по теме: на habrahabr, на ИНТУИТ

  4. Модифицировать предыдущую программу так, чтобы использовались все имеющиеся в распоряжение программы GPU. Программа должна определять количество доступных GPU и распределять работу по ним.
  5. Ray Tracing. Реализовать генерацию сцены, состоящей минимум из двух сфер и минимум одной плоскости. На выбор реализовать или преломление или отражение луча от сфер. На плоскости должна быть натянута текстура. Минимальный размер результирующего изображения 640х480 точек.

    Плоскость можно представить в виде 2х треугольников.

Дополнительная сдача заданий возможна 15.01.2010 в 15:00 и 19.01.2010 в 10:00. 
Usefull links


Results
Read more