OpenMP ва openCV компилятори ёрдамида ишлаш унумдорлиги
Автор: Уразматов Тохир Куранбаевич
Рубрика: Спецвыпуск
Опубликовано в Техника. Технологии. Инженерия №2 (4) апрель 2017 г.
Дата публикации: 04.05.2017
Статья просмотрена: 53 раза
Библиографическое описание:
Уразматов, Т. К. OpenMP ва openCV компилятори ёрдамида ишлаш унумдорлиги / Т. К. Уразматов. — Текст : непосредственный // Техника. Технологии. Инженерия. — 2017. — № 2.1 (4.1). — С. 30-32. — URL: https://moluch.ru/th/8/archive/57/2326/ (дата обращения: 18.07.2024).
В данной статье описывается процесс OpenMР и OpenCV было предложено использование компиляторов, результаты работы в обоих компилятором. Производительность OpenMР и OpenCV компилятора ясно показано на примере диаграммы.
Ключевые слова: OpenMР, OpenCV, производительность
This article describes the process of OpenMР and OpenCV has been offered the use of compilers, the results of working in both the compiler. OpenMР and OpenCV compiler's performance is clearly shown in the chart view.
Keywords: OpenMР, OpenCV, productivity
Мультимедиа тизимларида тасвирларни қайта ишлаганда вейлет жараёнларини тадбиғ этиш яхши натижа беради. Айниқса параллелаштириш алгоритмларидан фойдаланиш унумдорлик даражасини оширишга ёрдам беради. Тасвирларни қайта ишлаганда биринчи усул ёрдамида амалга оширамиз. Бу усулнинг амалга ошиш алгоритми қуйидагича амалга ошади: дастурга юкланган тасвир 2^N қиймат билан амалга ошади. N нинг қиймати тасвир бўлинган матрицаси 16х16 ўлчамга эга бўлгунча амалга ошади. Бу ҳолатда мисол сифатида N = 1 га тенг бўлганда тасвир 4 та матрицага ажралада.
Танланган мавзунинг долзарблиги ҳисоблаш техникасидан фойдаланган ҳолда жараёнларни математик моделлаштиришда, шунингдек маълумотлар базаси кўринишида берилган турли табиатли маълумотларни таҳлил қилинишида қурилган илмий ишларнинг тез ривожланишининг натижаси ҳисобланади.
Бундан кўринади алгоритм OpenMP дан фойдаланганда 2 ядроли процессорда амалга оширилганда 2 та оқимга 2 марта бўлиб берилади ва цикл 2 марта айланишга тўғри келади. Кетма кет амалга оширганда эса бу амаллар бажарилганда цикл 4 маротаба айланишга тўғри келади. Бу ҳолатни назарий жихатдан тахлил қиладиган бўлсак, унумдорлик 2 маротаба ошади деган хулосага келишимиз мумкин. Аммо OpenMP ёрдамида оқимларга ажратганда хотира ва процессор билан оқимларни ташкиллаштирганда маълум вақт сарфланади. Чунки оқим яратилганда хотирага ҳосил бўлаётган оқим учун динамик хотира яратиш лозим ва оқим ўз жараёнини якунлаганда динамик хотирани ўчириш керак бўлади. Кейинги жараён бу оқимларни процессорда бажарилиш учун навбатга қўйиш. [1.-78с] Бу ҳолда ҳам маълум даражада вақт сарфланади. OpenMP пакетидан фойдаланган ҳолда тасвирни қайта ишлаганда 2 ядроли процессорда қайта ишлаганда қуйидаги 1 – жадвалда кўрсатилган натижаларга эришилди. Жадвалнинг биринчи устунида қайта ишланаётган тасвирнинг нечта матрицага бўлиниши ва бўлинган ҳар бир матрицанинг қандай ўлчамга эга эканлиги кўрсатилган.
1 – жадвал
2 ядроли процессорда тасвирларни қайта ишлаганда сарфланган вақт ва унумдорлик
N x N |
Оддий алгоритмёрдамиа |
OpenMP ёрдамида |
OpenCV ёрдамида |
Унумдорлик |
4 ta 1024 |
5141,619 |
3862,97 |
3781,4 |
1,331 |
16 ta 512 |
5381,641 |
4230,043 |
4123,03 |
1,279 |
64 ta 256 |
5498,038 |
4550,084 |
4435,01 |
1,208 |
256 ta 128 |
5657,647 |
5166,368 |
4987,1 |
1,109 |
1024 ta 64 |
5954,337 |
5862,022 |
5621,02 |
1,016 |
4096 ta 32 |
7029,633 |
7888,272 |
7678,2 |
0,891 |
16384 ta 16 |
9878,041 |
13121,636 |
12234,5 |
0,753 |
Натижалардан шуни кўришимиз мумкин, бир оқимли кетма кет қайта ишлаш амалга оширганда OpenMP ва OPENCV ёрдамида амалга оширганга нисбатан кўпроқ вақт талаб қилиши мумкин.[2.-36с]
OpenMP ёрдамида 2 ядроли процессорда эришилган унумдорликни график кўриниши
OpenMP ёрдамида тасвирни қайта ишлаганда #pragma omp parallel дириктиваси процессорни максимал ҳолда оқимларга ажратишга ҳаракат қилади. Яъни 2 ядроли процессорда максимал ҳолда 2 та оқимни яратиб бериши мумкин. Аммо оқимларни максимал ҳолда белгилаб бериш билан унумдорликка эришиб бўлмайди. Чунки оқимларни ташкиллаштиришга ҳам боғлиқ ҳисобланади. Бу вазифини OpenMP компилятори ташкиллаштириб беради.[3.-56с]
Айнан шу ҳолатни 4 ядроли процессорда амалга оширганимизда 2 – жадвалдаги натижаларни кўришимиз мумкин:
Ядролар сонининг ошиши оқимлар сонини ошишига имкон беради. 4 ядроли процессорда максимал ҳолда 4 та оқим ташкиллаштиришимиз мумкин.
2 – жадвал.
4 ядроли процессорда тасвирларни қайта ишлаганда сарфланган вақт ва унумдорлик
N x N |
Одатда |
OpenMP |
OpenCV |
Унумдорлик |
4 ta 1024 |
1873,058 |
679,337 |
658,211 |
2,757 |
16 ta 512 |
1693,052 |
701,696 |
689,234 |
2,413 |
64 ta 256 |
1581,531 |
977,97 |
954,42 |
1,617 |
256 ta 128 |
2017,086 |
1676,533 |
1579,241 |
1,203 |
1024 ta 64 |
1446,008 |
1776,122 |
1721,201 |
0,814 |
4096 ta 32 |
1630,208 |
2636,226 |
2564,125 |
0,618 |
16384 ta 16 |
2143,645 |
7029,12 |
6875,01 |
0,305 |
OpenMP ёрдамида 4 ядроли процессорда эришилган унумдорликни график кўриниши
Юқоридаги натижалардан шуни кўришимиз мумкинки, унумдорлик натижаси n ядроли процессорларда n дан ошмаслигини кўришимиз мумкин. 2 ва 4 ядроли процессорларни унумдорлигини солиштирганимизда қуйидаги фарқни кўришимиз мумкин.[4.-34с]
Хулоса қилиб айтганда маълумотларни қайта ишлашда кўп ядроли процессорларга мўлжалланган параллелаштириш алгоритмларини қўллаш яхши самара берди. С++дастурлаш тилидан фойдаланилди ва параллел алгоритмни таъминлаб OpenMP ва OpenCV компиляторлари директиваларидан фойдаланилди ва улар ёрдамида процессор унумдорлик даражаси ошди.
Иш давомида тасвирларни қайта ишлашда тасвир қийматларини байтли массивга ўзлаштириш, вейвлет-жараёнларни амалга оширганда оқимларга ажратиш усуллари ва хотирани параллел ҳолда динамик жой ажратиш каби жараёнлар бажарилди ва яхши самарадорлик кўрсатди.
Адабиётлар:
- Шпаковский Г.И. Реализация параллельных вычислений: MPI, OpenMP, кластеры, грид, многоядерные процессоры, графические процессоры, квантовые компьютеры. – Минск: Белорусский Государственный Университет, 2010. – 155с.
- Ярославский Л.П. «Введение в цифровую обработку изображений», Москва сов.радио, 2012й.
- Грузман И.С. «Цифровая обработка изображений в информационных системах», Новосибирск 2012г.
- Антонов А.С. Параллельное программирование с использованием технологии OpenMP. – М: издательство Московского Университета, 2011 г. – 77с.
Похожие статьи
Применение библиотеки AForge.NET и ее расширения Accord.NET...
Существует много различных библиотек для программной реализации системы распознавания лиц, например, такие как OpenCV, Emgu CV, Accord.NET Framework, Matrox Imaging Library...
Методы определения объектов на изображении | Статья в журнале...
Использование матричных детекторов границ в OpenCV 3.x на примере матрицы Собеля.
В библиотеке OpenCV он реализуется функцией (cvHaarDetectObjects()) [6].
Алгоритмы распознавания объектов | Статья в сборнике...
В дополненном методе Виолы — Джонса, который используется в библиотеках OpenCV, применяются признаки, дополненные следующими примитивами [5]
Вычисление расстояния до наблюдаемого объекта по...
Калибровка камер стереопары осуществляется при помощи библиотечной функции OpenCV calibrate Camera().
Multiple View Geometry in Computer Vision, 2nd Edition.
Real-time stereo vision system for distance measurement
Bradski, G. and Adrian, K. Learning OpenCV: Computer Vision with the OpenCv Library — 2008 — O`Reilly Media, Inc. California — ISBN 13: 9780596516130.
Распознавание объектов на основе видеосигнала, полученного...
Программа, реализующая алгоритм, написана на языках C# и С++ с использованием библиотеки OpenCv. Распознавание образов окружающих объектов внешней среды.
Поиск объектов на изображении с использованием алгоритма...
На практике будет использована реализация данного алгоритма из библиотеки OpenCV. В библиотеке имеются модули для работы с каскадным классификатором...
Сравнительный анализ методов поиска особых точек...
Для проведения исследований была написана программа на языке JAVA в среде разработке AndroidStudio, с использованием свободно распространяемой библиотекой OpenCV 3.1.0 [5].
Статьи по ключевому слову "OpenCV" — Молодой учёный
"OpenCV": Молодой учёный №12 (116) июнь-2 2016 г. — Коробов Д. В., Патин М. В.
OpenMP ва openCV компилятори ёрдамида ишлаш унумдорлиги.
Похожие статьи
Применение библиотеки AForge.NET и ее расширения Accord.NET...
Существует много различных библиотек для программной реализации системы распознавания лиц, например, такие как OpenCV, Emgu CV, Accord.NET Framework, Matrox Imaging Library...
Методы определения объектов на изображении | Статья в журнале...
Использование матричных детекторов границ в OpenCV 3.x на примере матрицы Собеля.
В библиотеке OpenCV он реализуется функцией (cvHaarDetectObjects()) [6].
Алгоритмы распознавания объектов | Статья в сборнике...
В дополненном методе Виолы — Джонса, который используется в библиотеках OpenCV, применяются признаки, дополненные следующими примитивами [5]
Вычисление расстояния до наблюдаемого объекта по...
Калибровка камер стереопары осуществляется при помощи библиотечной функции OpenCV calibrate Camera().
Multiple View Geometry in Computer Vision, 2nd Edition.
Real-time stereo vision system for distance measurement
Bradski, G. and Adrian, K. Learning OpenCV: Computer Vision with the OpenCv Library — 2008 — O`Reilly Media, Inc. California — ISBN 13: 9780596516130.
Распознавание объектов на основе видеосигнала, полученного...
Программа, реализующая алгоритм, написана на языках C# и С++ с использованием библиотеки OpenCv. Распознавание образов окружающих объектов внешней среды.
Поиск объектов на изображении с использованием алгоритма...
На практике будет использована реализация данного алгоритма из библиотеки OpenCV. В библиотеке имеются модули для работы с каскадным классификатором...
Сравнительный анализ методов поиска особых точек...
Для проведения исследований была написана программа на языке JAVA в среде разработке AndroidStudio, с использованием свободно распространяемой библиотекой OpenCV 3.1.0 [5].
Статьи по ключевому слову "OpenCV" — Молодой учёный
"OpenCV": Молодой учёный №12 (116) июнь-2 2016 г. — Коробов Д. В., Патин М. В.
OpenMP ва openCV компилятори ёрдамида ишлаш унумдорлиги.