
OpenMP
Sign in to saveAlso known as Open Multi-Processing
открытый стандарт для распараллеливания программ на языках Си, C++ и Фортран
In the Vinony graph
Vinony's link graph records 260 inbound references to OpenMP, and connects out to Fortran, application programming interface and parallel computing.
It sits within the topics Application programming interfaces, C programming language family and Fortran.
Vinony links it to 22 Wikipedia language editions.
Key facts
- Software.name
- OpenMP
- Software.logo
- OpenMP logo|180px
- Software.author
- OpenMP Architecture Review Board
- Software.developer
- OpenMP Architecture Review Board
- Software.latest_release_version
- 6.0
- Software.operating_system
- Cross-platform
- Software.platform
- Cross-platform
- Software.genre
- Extension to C, C++, and Fortran; API
- Software.license
- Various
via Wikipedia infobox
Wikidata facts
- Instance of
- software
- Official website
- www.openmp.org
- Has use
- parallel programming
Show 5 more facts
- Stack Exchange tag
- stackoverflow.com/tags/openmp
- software version identifier
- 6.0
- operating system
- cross-platform
- programmed in
- C
- Commons category
- OpenMP
Sources (2)
via Wikidata · CC0
Article · Русский
OpenMP (Open Multi-Processing) — открытый стандарт для распараллеливания программ на языках Си, Си++ и Фортран. Даёт описание совокупности директив компилятора, библиотечных процедур и переменных окружения, которые предназначены для программирования многопоточных приложений на многопроцессорных системах с общей памятью. Разработка спецификаций стандарта ведётся некоммерческой организацией OpenMP Architecture Review Board (ARB), в которую входят все основные производители процессоров, а также ряд суперкомпьютерных лабораторий и университетов. Первая версия спецификации вышла в 1997 году, предназначалась только для Фортрана, в следующем году вышла версия для Си и C++. OpenMP реализует параллельные вычисления с помощью многопоточности, в которой ведущий (англ. master) поток создаёт набор ведомых потоков, и задача распределяется между ними. Предполагается, что потоки выполняются параллельно на машине с несколькими процессорами (количество процессоров не обязательно должно быть больше или равно количеству потоков). Задачи, выполняемые потоками параллельно, так же, как и данные, требуемые для выполнения этих задач, описываются с помощью специальных директив препроцессора соответствующего языка — «прагм». Например, участок кода наФортране, который должен исполняться несколькими потоками, каждый из которых имеет свою копию переменной N, предваряется следующей директивой: !$OMP PARALLEL PRIVATE(N) Количество создаваемых потоков может регулироваться как самой программой при помощи вызова библиотечных процедур, так и извне, при помощи переменных окружения. Ключевые элементы стандарта: * конструкции для создания потоков (директива parallel), * конструкции распределения работы между потоками (директивы DO/for и section), * конструкции для управления работой с данными (выражения shared и private для определения класса памяти переменных), * конструкции для синхронизации потоков (директивы critical, atomic и barrier), * процедуры библиотеки поддержки времени выполнения (например, omp_get_thread_num), * переменные окружения (например, OMP_NUM_THREADS).
Abstract from DBpedia / Wikipedia · CC BY-SA