- •230100 – Информатика и вычислительная техника
- •Часть 2. Алгоритмы цифровой обработки изображений 58
- •Часть 3. Методические указания для практических и лабораторных работ 109
- •Введение
- •Часть 1. Программирование графического адаптера nvidia с использованием технологии cuda
- •Краткая история развития графических адаптеров
- •Архитектура nvidia cuda
- •Архитектура gpu-приложения
- •Основные различия между cpu и cuda-устройством
- •Различие возможностей между поколениями cuda-устройств
- •Инструментарий cuda Toolkit
- •Установка
- •Проверка правильности установки
- •Компиляция примеров
- •Прикладные программные интерфейсы cuda
- •Особенности компиляции
- •Опции компилятора nvcc
- •Профайлер
- •Отладка программ в режиме эмуляции устройства
- •Среда разработки nvidia Parallel Nsight
- •Подключаемые библиотеки
- •Библиотека cublas
- •Библиотека cufft
- •Часть 2. Алгоритмы цифровой обработки изображений
- •Видоизменение гистограммы изображения
- •Основы пространственной фильтрации
- •Сглаживающие пространственные фильтры
- •Сглаживание изображений локальным усреднением
- •Сглаживание по обратному градиенту
- •Сглаживающий сигма-фильтр
- •Сглаживание по наиболее однородным областям
- •Медианный фильтр
- •Описание метода медианной фильтрации
- •Одномерный медианный фильтр
- •Зависимость качества работы медианного фильтра от размера апертуры
- •Двумерный медианный фильтр
- •Пространственные фильтры выделения границ областей
- •Линейные методы выделения границ областей. Лапласиан
- •Нелинейные методы выделения границ областей
- •Оператор Превита
- •Частотные фильтры
- •Сглаживающий частотный фильтр
- •Частотный фильтр повышения резкости
- •Гомоморфная фильтрация
- •Морфологическая фильтрация
- •Операции математической морфологии
- •Дилатация
- •Алгебраические свойства дилатации и эрозии
- •Применение морфологической дилатации
- •Применение морфологической эрозии
- •Размыкание и замыкание
- •Применение морфологических операций размыкания и замыкания
- •Основные морфологические алгоритмы
- •Выделение границ.
- •Заполнение областей.
- •Выпуклая оболочка.
- •Утончение.
- •Утолщение.
- •Построение остова.
- •Часть 3. Методические указания для практических и лабораторных работ
- •Практическая работа №1. Введение в технологию cuda
- •Цель работы
- •Порядок выполнения работы
- •Теоретическая часть
- •Архитектура графических адаптеров nvidia.
- •Архитектура чипа g80.
- •Архитектура чипа Fermi.
- •Вычислительные способности графического процессора.
- •Среда разработки cuda.
- •Язык cuda с.
- •Модель программирования cuda.
- •Теоретическая часть Модель памяти cuda
- •Особенности глобальной памяти.
- •Особенности разделяемой памяти.
- •Теоретическая часть Программный пакет «Sarcis».
- •Команды меню.
- •Панель инструментов.
- •Механизм подключения динамических библиотек.
- •Создание внешней библиотеки
- •Пример листинга программы динамической библиотеки.
- •Медианная фильтрация
- •Варианты индивидуальных заданий
- •Выбор по дискретному критерию.
- •Выбор по среднему контрасту.
- •Выбор по среднему градиенту.
- •Выбор на основе простых статистик.
- •Параметрическая аппроксимация.
- •Моментный подход.
- •Варианты индивидуальных заданий
- •Теоретическая часть
- •Инициализация устройства.
- •Выделение памяти на gpu
- •Пересылка данных между cpu и gpu.
- •Вызов функции ядра.
- •Методические рекомендации
- •Варианты индивидуальных заданий
- •Методические рекомендации
- •Защита лабораторной работы
- •Лабораторная работа № 3. Работа с разделяемой памятью в технологии cuda
- •Цель работы
- •Порядок выполнения работы
- •Методические рекомендации
- •Методические рекомендации
- •Особенности текстурной памяти.
- •Особенности линейной текстурной памяти.
- •Защита лабораторной работы
- •Правила оформления отчета
- •Оформление титульного листа
- •Библиографический список
Л.Г.
Доросинский
В.Н. Круглов
Н.В. Папуловская
А.В. Чирышев
ТЕХНОЛОГИЯ CUDA В ЦИФРОВОЙ ОБРАБОТКЕ ИЗОБРАЖЕНИЙ
М
инистерство
образования и науки Российской Федерации
Уральский федеральный университет
имени первого Президента России Б.Н.Ельцина
ТЕХНОЛОГИЯ CUDA В ЦИФРОВОЙ ОБРАБОТКЕ ИЗОБРАЖЕНИЙ
Рекомендовано УМО по классическому университетскому и техническому образованию в качестве учебно-методического пособия для студентов высших учебных заведений, обучающихся по специальности
230100 – Информатика и вычислительная техника
Екатеринбург
УрФУ
2011
УДК 004.932(075.8)
ББК 32.97я73
Авторы: Л.Г. Доросинский, В.Н. Круглов, Н.В. Папуловская, А.В. Чирышев
Рецензенты:
кафедра «Сетевые информационные системы и компьютерные технологии обучения» Российский государственный профессионально-педагогический университет (зав.кафедрой доц.,канд.техн.наук Е.В.Чубаркова);
проф.д-р.техн.наук В.П. Часовских (Уральский государственный лесотехнический университет)
Научный редактор проф. д-р техн. наук С.В. Поршнев
Т38 ТЕХОЛОГИЯ CUDA В ЦИФРОВОЙ ОБРАБОТКЕ ИЗОБРАЖЕНИЙ: учеб.-метод. пособие / Л.Г. Доросинский, В.Н. Круглов, Н.В. Папуловская, А.В. Чирышев – Екатеринбург: УрФУ. 2011. 192 с.
ISBN 978–5–321–02100
В пособии раскрывается сущность технологии параллельных вычислений на графическом процессоре.
В первой части пособия описываются современная многоядерная архитектура графического процессора и основополагающие принципы, лежащие в основе построения параллельных алгоритмов. Вторая часть посвящена изучению алгоритмов цифровой обработки изображений. В третьей части приводятся методические указания для проведения практикума для магистров, обучающихся по направлению 230100 – Информатика и вычислительная техника. Практикум состоит из пяти практических и пяти лабораторных работ.
Пособие предназначено для студентов и аспирантов, специализирующихся в области использования параллельных вычислений для обработки изображений, а также для профессиональных разработчиков систем автоматического распознавания.
Библиогр.: 32 назв. Табл. 18. Рис. 57.
УДК 004.932(075.8)
ББК 32.97я73
Удостоено диплома лауреата всероссийской выставки «Золотой фонд отечественной науки» как лучшее учебно-методическое издание в отрасли
© Уральский федеральный университет, 2011
© Доросинский Л.Г., Круглов В.Н., Папуловская Н.В., Чирышев А.В.
СОДЕРЖАНИ
Введение 8
Часть 1. Программирование графического адаптера NVIDIA с использованием технологии CUDA 10
Часть 2. Алгоритмы цифровой обработки изображений 59
Часть 3. Методические указания для практических и лабораторных работ 111
Библиографический список 193
Введение 7
Часть 1. Программирование графического адаптера NVIDIA с использованием технологии CUDA 9
1.2. Краткая история развития графических адаптеров 12
1.2. Архитектура NVIDIA CUDA 14
1.3. Архитектура GPU-приложения 16
1.3.1. Основные различия между CPU и CUDA-устройством 16
1.3.2. Различие возможностей между поколениями CUDA-устройств 20
1.4. Инструментарий CUDA Toolkit 22
1.4.1. Установка 22
1.4.2. Проверка правильности установки 23
1.4.3. Компиляция примеров 24
1.4.4. Прикладные программные интерфейсы CUDA 25
1.4.5. Особенности компиляции 32
1.4.6. Опции компилятора nvcc 35
1.4.7. Профайлер 42
1.4.8. Отладка программ в режиме эмуляции устройства 49
1.5. Среда разработки NVIDIA Parallel Nsight 52
1.6. Подключаемые библиотеки 53
1.6.1. Библиотека CUBLAS 53
1.6.2. Библиотека CUFFT 55
