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%