- PVSM.RU - https://www.pvsm.ru -
Всем привет! Недавно познакомился с замечательной штукой как OpenMP, на просторах есть много
описаний тут [1] или тут [2], но нет красивых графиков которые бы показывали эффективность этой технологии. В этом посте я постараюсь наглядно показать эффективность работы с OpenMP на различных платформах. Кому интересно добро пожаловать!
В современном мире существует множество различных ОС и новых мощных процессоров, позволяющих производить сложные вычисления с относительно небольшими затратами времени. Данное исследование проводилось с целью выяснить в какой среде эффективнее всего производить трудоемкие вычисления, а также способы уменьшения затрат времени на вычисления.
Для проведения исследования был выбран алгоритм — вычисления числа ПИ с помощью интегральной формулы поскольку данный алгоритм хорошо поддаётся распараллеливанию и достаточно трудоёмкий с точки зрения вычислений.
Для распараллеливания алгоритма было решено использовать технологию openMP. Данная технология позволяет эффективно писать одинаковый код для разных сред выполнения, минимизируя погрешности, которые вносятся при написании кода программистом с использованием p_threads или Windows Threads, в ОС Linux и Windows, соответственно.
Для сравнения были выбраны 3 среды выполнения:
Тесты были проведены на компьютере с процессором.
Intel Сore i7-4771
Если про первые две системы слышали многие, WSL еще малоизвестна. WSL — фича, которая появилась в Windows 10 сравнительно недавно. Ядро ubuntu 14.04 было встроено в ядро Win10. Эта система позволяет запускать linux приложения, работая в Windows, более того пользователю доступно практически полное рабочее окружение использовать которое так-же просто, как открыть проводник. Прочитать про неё можно например тут [3].
Данные представленные на графиках усреднённые, было выполнено по 5 прогонов теста для каждой ОС. По оси ординат на графиках время в секунду, значения делений оси абсцисс приведены в таблице
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | 2 | 4 | 6 | 8 | 10 | 12 | 16 | 32 | 64 | 128 | 256 | 512 | 1024 |
Спасибо за внимание.
Автор: tawr1097
Источник [4]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/openmp/251478
Ссылки в тексте:
[1] тут: https://habrahabr.ru/company/intel/blog/204668/
[2] тут: https://habrahabr.ru/post/71296/
[3] Windows Subsystem For Linux: https://habrahabr.ru/company/eset/blog/281418/
[4] Источник: https://habrahabr.ru/post/325360/?utm_source=habrahabr&utm_medium=rss&utm_campaign=sandbox
Нажмите здесь для печати.