TCMM159 Семинар: Паралелна обработка на сигнали и изображения с CUDA
Анотация:
През 2011г. този курс се предлага за първи път в България на български език и е предназначен само за студенти от програма "Телекомуникации" на НБУ.
Курсът запознава с възможностите и приложението на технологията CUDA (Compute Unified Device Architecture - Nvidia) при разработката на високопроизводителни софтуерни приложения за паралелна обработка на данни, сигнали и изображения. Студентите се запознават с основите на GP-GPU (General-Purpose Graphics Processing Unit) и еволюцията на технологията CUDA, както и CUDA SDK. Практическата част на курса е ориентирана към настройката и използване на работната среда в операционна система Linux - Ubuntu за писане на С++ приложения ползващи с компилатор nvcc. Разглеждат се стандартни примери за писане на паралено изпълнявани програми. За максимално полезно провеждане на упражненията студентите трябва да имат и личен достъп до компютър с CUDA съвместима видеокарта (списък на поддържания хардуер може да намерите тук http://www.nvidia.com/object/geforce_family.html). Упражненията се провеждат в лаборатория 618 - 2бл. НБУ на 2 оборудвани работни станции с CUDA съвместим хардуер (http://www.nvidia.com/object/product_geforce_gtx_480_us.html).

Преподавател(и):
доц. Георги Петров д-р
Описание на курса:
Компетенции:
Предимствата, възможности и области на приложение на технологията CUDA.
Да инсталират и конфигурират CUDA SDK, toolkit върху Linux Ubuntu.
Да настройват работната среда, да компилират готовите примери от SDK.
Да работят с OpenGL и OpenCV в областта на обработката на 2D изображения.
Да пишат елементарни С++ програми за паралела обработка на данни.
Предварителни изисквания:
Предварителните познания и добри умения по програмиране на С/С++ са задължителни. Курсът е предназначен за програмисти желаещи да разширят своите познания и практически умения за миграция на техния програмен код върху високопроизводителната платформа CUDA. Независимо от това учебните материали към курса могат да се изучават и самостоятелно, като темповете на реализация на задачите и примерите ще зависят от общото ниво на знанията на студентите в частта програмиране. Курсът дава и обща представа за технологията CUDA. За целта се използват специално оборудвани компютърни конфигурации в лаборатория по телекомуникации. Упражненията се провеждат на GTX480 платформа предоставена от Nvidia.http://developer.nvidia.com/category/zone/cuda-zone
Форми на провеждане:
Редовен
Учебни форми:
Семинар в извън учебно време
Език, на който се води курса:
Български
Теми, които се разглеждат в курса:
Литература по темите:
[1] Програмиране с CUDA за Ubuntu, Г.Петров, 2013
[2] David B. Kirk, Wen-mei W. Hwu, Programming Massively
Parallel Processors: A Hands-on Approach (Applications
of GPU Computing Series)
[3] Jason Sanders, Edward Kandrot, CUDA by Example: An
Introduction to General-Purpose GPU Programming
[4] Rob Farber, CUDA, Supercomputing for the Masses,
DrDobb’s 2008
[5] NVIDIA, The CUDA Compiler Driver NVCC
[6] Nicholas Paufler, The 3D Chipset Wars: A Chronicle of the
Past, Present, and Future
[7] Addison Wesley, OpenGL Programming Guide: The
Official Guide to Learning OpenGL, 2009
[8] П.Фолькердинг, К.Рейчард, Е. Фостер-Джонсон, Уста-
новка и конфигурирование Linux, 2000 изд. Питер
[9] Петров Г., Приложение на CUDA при създаването на
високопроизводителни паралелни системи за обработ-
ка на сигнали и изображения, Tелеком 2010,14-15 ок-
томври NSTC, София, България)
Средства за оценяване:
УЧАСТИЕ В СЕМИНАРИ 50%
КУРСОВА РАБОТА/ПРОЕКТ 50%