
Преимущества OpenMP
1. За счет идеи "инкрементального распараллеливания" OpenMP идеально подходит для разработчиков, желающих быстро распараллелить свои вычислительные программы с большими параллельными циклами. Разработчик не создает новую параллельную программу, а просто последовательно добавляет в текст последовательной программы OpenMP-директивы.
2. При этом, OpenMP - достаточно гибкий механизм, предоставляющий разработчику большие возможности контроля над поведением параллельного приложения.
3. Предполагается, что OpenMP-программа на однопроцессорной платформе может быть использована в качестве последовательной программы, т.е. нет необходимости поддерживать последовательную и параллельную версии. Директивы OpenMP просто игнорируются последовательным компилятором, а для вызова процедур OpenMP могут быть подставлены заглушки (stubs), текст которых приведен в спецификациях.
4. Одним из достоинств OpenMP его разработчики считают поддержку так называемых "orphan" (оторванных) директив, то есть директивы синхронизации и распределения работы могут не входить непосредственно в лексический контекст параллельной области.
OpenMP поддерживается такими современными компиляторами
- Компиляторы Sun Studio поддерживают официальную спецификаци — OpenMP 2.5 — с улучшенной производительностью под ОС Solaris; поддержка Linux запланирована на следующий релиз.
- Visual C++ 2005 и выше поддерживает OpenMP в редакциях Professional и Team System.
- GCC 4.2 поддерживает OpenMP, а некоторые дистрибутивы (такие как Fedora Cors 5 gcc) включили поддержку в свои версии GCC 4.1.
- Intel C++ Compiler, включая версию Intel Cluster OpenMP для программирования в системах с распределённой памятью.
- IBM XL compiler
- PGI (Portland group)
- Pathscale
- HP
Данные материалы взяты из http://ru.wikipedia.org/wiki/OpenMP,
http://www.parallel.ru/tech/tech_dev/openmp.html
Дополнительную информацию по OpenMPможно посмотреть в следующих материалах сети:http://www.parallel.ru/tech/tech_dev/openmp.html
1. Антонов А.С. Параллельное программирование с использованием технологии OpenMP
http://parallel.ru/info/parallel/openmp/
2. Левин М.П. Параллельное программирование с использованием OpenMP
http://www.intuit.ru/department/se/openmp/
3. OpenMP спецификация API для параллельного программирования (англ.)
http://openmp.org/wp/
4. Эфективное программирование
http://openmp.ru/
5. Кратко о технологии OpenMP
http://software.intel.com/ru-ru/articles/About-OpenMP/
6. About OpenMP (англ.)
https://computing.llnl.gov/tutorials/openMP/
7. Учебные материалы, касающиеся параллельных вычислений и супер-ЭВМ
http://parallel.ru/info/education/
8. Технология OpenMP
http://www.viva64.com/ru/a/0057/