ВУЗ:
Составители:
Рубрика:
1.Введение
При распараллеливания программы для системы с разделяемой памятью мы
можем использовать следующие инструменты:
● Библиотеки поддержки нитей, такие как Pthreads или Win32 threads API.
● Компиляторы с поддержкой OpenMP. Этот стандарт поддерживается
компиляторами Intel (C/C++, FORTRAN 95 для Win32, Linux), компилято-
рами Sun Studio, компиляторами IBM, HP, SGI, KAI, Lahey.
● Компиляторы, выполняющие автоматическое распараллеливание.
Автоматическое распараллеливание выполняют для некоторых классов
программ компиляторы Intel.
● Системы программирования, поддерживающие нити (многозадачность)
на уровне языка программирования. Например, Java, Python, Ada~83/95/05.
В данных методических указаниях мы рассмотрим программирование с ис-
пользованием OpenMP API.
2.Введение в OpenMP
Разработчики систем с общей памятью (SMP, многоядерные процессоры,
NUMA, ...) создали спецификацию расширения OpenMP ― промышленный
cтандарт de facto разработки параллельных программ для SMP-систем.
Непосредственно разработкой занимается OpenMP Architecture Board
<www.openmp.org>. Последняя версия спецификации 2.5 принята в 2005 году,
предыдущая(2.0) была принята в 2000-2001 годах. Отличие между этими
версиями состоит в более строгом описании семантики директив и клауз OpenMP,
в более четком изложении ограничений на использование директив и функций
библиотеки времени исполнения OpenMP, а также в объединении спецификаций
для C/C++ и FORTRAN'а в один документ.
3