Сравнение производительности NVidia NPP и Intel IPP Участники: Калишев Глеб Майоров Алексей Руководитель: Половинкин Алексей Участники: Калишев Глеб Майоров.

Презентация:



Advertisements
Похожие презентации
Сравнительный анализ различных реализаций фильтра Гаусса.
Advertisements

Нижегородский государственный университет им. Н.И.Лобачевского Факультет Вычислительной математики и кибернетики Об одном подходе к решению задачи поиска.
Обработка изображений Image Processing (IP) Изображение Компьютерное зрение Computer Vision (CV) Изображение Модель (Описание) Компьютерная графика Computer.
Принципы адаптации вычислительных алгоритмов под параллельную архитектуру графических акселераторов С.М.Вишняков научный руководитель: д.т.н. А.В.Бухановский.
Дипломная работа Преснова И.М Научный руководитель Демьянович Ю. К
Санкт-Петербургский государственный университет информационных технологий, механики и оптики Санкт-Петербург 2009 Санкт-Петербургский государственный университет.
Принципы адаптации вычислительных алгоритмов под параллельную архитектуру графических акселераторов С.М.Вишняков научный руководитель: д.т.н. А.В.Бухановский.
Сравнение возможностей инструментария разработки программного обеспечения графических процессоров.
Библиотека для работы с конечными множествами, использующая графический процессор в качестве основного вычислительного устройства Новосибирский Государственный.
GPU vs. CPU 681 млн. транзисторов Тактовая частота 575Mhz * 768MB 1.8 Ghz памяти DDR4 ~650 млн. транзисторов Тактовая частота ~700Mhz 1GB 1.1 Ghz памяти.
ПРИНЦИПЫ ОЦИФРОВКИ ИЗОБРАЖЕНИЙ В ЦИФРОВЫХ ФОТОАППАРАТАХ. Проект по информатике. Даниленко Александр.
Анализ вычислительной сложности алгоритмов Теория сложности вычислений.
Выполнила: Цыдендамбаева Эвелина, группа 211. Цель: изучение способов применения компьютерной графики и анимации в кино и процесс реализации графических.
Графические редакторы. РАСТРОВЫЕ ВЕКТОРНЫЕ Компьютерные изображения.
Растровое изображение хранится с помощью точек различного цвета (пикселей), образующие строчки и столбцы. Пример: черно-белое изображение стрелки (N =
V Всероссийская конференция молодых ученых А. А. Давыдов ИССЛЕДОВАНИЕ ВОЗМОЖНОСТЕЙ УСКОРЕНИЯ РАСЧЕТА ЗАДАЧ АЭРО-ГАЗОДИНАМИКИ С ПОМОЩЬЮ ВЕКТОРНЫХ СОПРОЦЕССОРОВ.
Нижегородский государственный университет им. Н.И.Лобачевского Факультет Вычислительной математики и кибернетики Применение технологии Cilk для решения.
Виды компьютерной графики Научная Научная Деловая Деловая Конструкторская Конструкторская Иллюстративная Иллюстративная Художественная Художественная.
Подготовил: Кобзарь Дмитрий 11 Б. Главное меню Определение Устройство компьютера Устройства ввода и вывода Проверка полученных знаний ВЫХОД.
Центральный процессор (ЦП, или центральное процессорное устройство ЦПУ; англ. central processing unit, сокращенно CPU, дословно центральное обрабатывающее.
Транксрипт:

Сравнение производительности NVidia NPP и Intel IPP Участники: Калишев Глеб Майоров Алексей Руководитель: Половинкин Алексей Участники: Калишев Глеб Майоров Алексей Руководитель: Половинкин Алексей

Image Processing Работа с наиболее простейшими примитивами Работа с более сложными примитивами теория сигналов сжатие данных криптография обработка видео компьютерное зрение

Пример. Фильтр Байера. Используется для получения цветного изображения в матрицах цифровых фотоаппаратов, видеокамер и сканеров. Для отличия от других разновидностей его называют GRGB, RGBG, или RGGB Каждый фотоприемник воспринимает лишь 1/3 цветовой информации участка изображения, а 2/3 отсекается фильтром. Для получения остальных цветовых компонент используются значения из соседних ячеек. Недостающие компоненты цвета рассчитываются процессором камеры на основании данных из соседних ячеек в результате интерполяции Таким образом, в формировании конечного значения цветного пикселя участвует 9 или более фотодиодов матрицы. Каждый фотоприемник воспринимает лишь 1/3 цветовой информации участка изображения, а 2/3 отсекается фильтром. Для получения остальных цветовых компонент используются значения из соседних ячеек. Недостающие компоненты цвета рассчитываются процессором камеры на основании данных из соседних ячеек в результате интерполяции Таким образом, в формировании конечного значения цветного пикселя участвует 9 или более фотодиодов матрицы.

Пример. Фильтр Байера. Конечное изображение Интересующая область

Пример. Фильтр Байера. Сначала получаются три цветовые составляющие: Алгоритм Фильтрации Алгоритм Фильтрации

Пример. Сжатие данных. Исходное изображение Изображение после фильтрации Алгоритм сжатия данных Алгоритм сжатия данных

Пример. Восстановление качества изображения. Исходное изображение Изображение после обработки

Пример. Восстановление качества изображения. Исходное изображение Изображение после обработки

Постановка задачи Выявить общую функциональность библиотек Intel IPP и NVidia NPP. Спроектировать и реализовать тестовую систему для проведения экспериментов. Провести серию экспериментов при различных входных данных. Определить зависимость времени выполнения функций от разрешения входных изображений: время выполнения заданной функции из библиотеки IPP; время выполнения заданной функции из библиотеки NPP с учетом времени передачи данных на GPU; время выполнения заданной функции из библиотеки NPP без учета времени передачи данных на GPU; Провести анализ полученных результатов. Выявить общую функциональность библиотек Intel IPP и NVidia NPP. Спроектировать и реализовать тестовую систему для проведения экспериментов. Провести серию экспериментов при различных входных данных. Определить зависимость времени выполнения функций от разрешения входных изображений: время выполнения заданной функции из библиотеки IPP; время выполнения заданной функции из библиотеки NPP с учетом времени передачи данных на GPU; время выполнения заданной функции из библиотеки NPP без учета времени передачи данных на GPU; Провести анализ полученных результатов.

Общая функциональность Intel IPP и NVidia NPP Image Transpose Image Color Channel Swap Arithmetic Operations (Image Addition, Subtraction, Multiplication, Division Methods) Image Absolute Difference Methods Image Threshold Methods Image Compare Methods Mean_StdDev NormDiff 1D Filters (Linear Filter, Window Sum) 2D Filters (Morphology Filters, Linear Variable Filters, Linear Fixed Filters, Tile Max/Median/Min) Image Transpose Image Color Channel Swap Arithmetic Operations (Image Addition, Subtraction, Multiplication, Division Methods) Image Absolute Difference Methods Image Threshold Methods Image Compare Methods Mean_StdDev NormDiff 1D Filters (Linear Filter, Window Sum) 2D Filters (Morphology Filters, Linear Variable Filters, Linear Fixed Filters, Tile Max/Median/Min) (Image Processing)

Использование вычислений на GPU в области Image Processing Специализированная конвейерная архитектура Большое количество ядер Векторная обработка данных Большая эффективность в обработке графической информации Специализированная конвейерная архитектура Большое количество ядер Векторная обработка данных Большая эффективность в обработке графической информации Актуальность:

Использование вычислений на GPU в области Image Processing Быстрый рост пиковых производительностей GPU по сравнению с CPU Быстрый рост пиковых производительностей GPU по сравнению с CPU

Описание тестовой инфраструктуры Архитектура: x86, 32-bit CPU: Intel® Core®2 Duo E GHz RAM: 4 GB GPU: NVIDIA GeForce 8800 GTS 640 MB Операционная система: MS Windows XP Professional SP3 32-bit CUDA Driver: NVIDIA Driver for Windows XP 32-bit with CUDA Support CUDA Toolkit: CUDA Toolkit 2.3 for Windows XP 32-bit Библиотека IPP: Intel® Integrated Performance Primitives v6.0 for Windows* Библиотека NPP: NVIDIA NPP Library and SDK Version 1.0 Библиотека OpenCV: Open Source Computer Vision Library v1.1 for Intel® Architecture Компилятор: Microsoft (R) 32-bit C/C++ Optimizing Compiler Version for 80x86 Архитектура: x86, 32-bit CPU: Intel® Core®2 Duo E GHz RAM: 4 GB GPU: NVIDIA GeForce 8800 GTS 640 MB Операционная система: MS Windows XP Professional SP3 32-bit CUDA Driver: NVIDIA Driver for Windows XP 32-bit with CUDA Support CUDA Toolkit: CUDA Toolkit 2.3 for Windows XP 32-bit Библиотека IPP: Intel® Integrated Performance Primitives v6.0 for Windows* Библиотека NPP: NVIDIA NPP Library and SDK Version 1.0 Библиотека OpenCV: Open Source Computer Vision Library v1.1 for Intel® Architecture Компилятор: Microsoft (R) 32-bit C/C++ Optimizing Compiler Version for 80x86

Общая структура тестовой системы RUN.BAT BUILD.BAT OBJ IMAGES SET.BAT INCLUDE cl.exe

Файл с исходным кодом Функция runTest_ ; Пример: ipp_npp runTest_Transpose_8u_C1R(IplImage * srcImg, double *times); IplImage * srcImg – указатель на структуру, содержащую исходное изображение; double * times – указатель на 3-х элементный массив для сохранения временных результатов тестирования: times[0] – время вызова функции из библиотеки IPP; times[1] – время вызова функции из библиотеки NPP с учетом времени передачи данных на видеокарту; times[2] – время вызова функции из библиотеки NPP без учета времени передачи данных на видеокарту. Функция main(); Функция runTest_ ; Пример: ipp_npp runTest_Transpose_8u_C1R(IplImage * srcImg, double *times); IplImage * srcImg – указатель на структуру, содержащую исходное изображение; double * times – указатель на 3-х элементный массив для сохранения временных результатов тестирования: times[0] – время вызова функции из библиотеки IPP; times[1] – время вызова функции из библиотеки NPP с учетом времени передачи данных на видеокарту; times[2] – время вызова функции из библиотеки NPP без учета времени передачи данных на видеокарту. Функция main();

Результаты вычислительного эксперимента

Операции с памятью Функция Transpose_8u_C1R Функция SwapChannels_8u_C4IR

Арифметические операции Функция Add_32f_C1R Функция Sub_8u_C1RSfs Функция Mul_8u_AC4RSfs Функция Div_8u_C4RSfs

Функция Mean_StdDev_8u_C1R Функция NormDiff_L2_8u_C1R

Фильтры Функция Dilate_8u_C4R Функция Erode_8u_C4R

Фиксированные фильтры Функция FilterBox_8u_C4R Функция FilterMax_8u_C1R Функция FilterMin_8u_C4R

Выводы: Время вычислений на GPU в десятки раз меньше, чем на CPU. На большинстве функций Nvidia NPP проигрывает из-за низкой скорости передачи данных в память GPU и обратно. Для функций, выполняющих сложные вычисления, а также при многократной обработке одних и тех же данных, находящихся в памяти GPU, Nvidia NPP выигрывает в производительности у Intel IPP. В большинстве случаев объем видеопамяти в несколько раз меньше объема оперативной памяти, что ограничивает обработку изображений большого разрешения средствами NVidia NPP. Intel IPP более проста в установке и использовании, чем Nvidia NPP, имеет большую функциональность и не требует наличия специальных графических процессоров. Время вычислений на GPU в десятки раз меньше, чем на CPU. На большинстве функций Nvidia NPP проигрывает из-за низкой скорости передачи данных в память GPU и обратно. Для функций, выполняющих сложные вычисления, а также при многократной обработке одних и тех же данных, находящихся в памяти GPU, Nvidia NPP выигрывает в производительности у Intel IPP. В большинстве случаев объем видеопамяти в несколько раз меньше объема оперативной памяти, что ограничивает обработку изображений большого разрешения средствами NVidia NPP. Intel IPP более проста в установке и использовании, чем Nvidia NPP, имеет большую функциональность и не требует наличия специальных графических процессоров.