ВУЗ:
Рубрика:
28
В табл. 2.1 представлено время центрального процессора в се-
кундах, затраченное на перемножение матриц размерностью
1000х1000, 2000х2000, 4000х4000, 8000х8000 элементов для раз-
личных уровней оптимизации. Анализируя данные, следует отме-
тить, что правильный выбор параметров оптимизации позволяет
существенно сократить время решения задачи.
Таблица 2.1 Время ЦП, в с, при умножении
матриц различной размерности
1000 2000 4000 8000
O0 5,89 47,57 380,32 2854,6
O2 2,28 20,25 163,48 1312,3
O3 2,28 20,28 163,27 1312,6
Время счета Fortran-программ, откомпилированных с использо-
ванием опций -O2 и -O3, практически не отличается, однако компи-
ляция с ключом -O3 происходит гораздо дольше.
2.4 Технологии OpenMP
OpenMP (Open specifications for Multi-Processing) – стандарт
для написания параллельных программ для многопроцессорных
вычислительных систем с общей оперативной памятью. Программа
представляется как набор потоков (нитей), объединённых общей
памятью, где проблема синхронизации решается введением крити-
ческих секций и мониторов. Разработкой стандарта занимается ор-
ганизация OpenMP ARB (ARchitecture Board), в которую вошли
представители крупнейших компаний-разработчиков SMP-
архитектур (Symmetric Multiprocessing) и программного обеспече-
ния. Спецификации для языков Fortran и C/C++ появились соот-
ветственно в октябре 1997 г. и октябре 1998 г. OpenMP – это набор
специальных директив компилятору, библиотечных функций и пе-
ременных окружения. Наиболее оригинальны директивы компиля-
тору, которые используются для обозначения областей в коде с воз-
можностью параллельного выполнения. Компилятор, поддержи-
вающий OpenMP, преобразует исходный код и вставляет соответ-
ствующие вызовы функций для параллельного выполнения этих
областей кода.
Страницы
- « первая
- ‹ предыдущая
- …
- 26
- 27
- 28
- 29
- 30
- …
- следующая ›
- последняя »
