ВУЗ:
Рубрика:
30
нитей, а порождающая нить получает номер 0 и становится основ-
ной нитью команды (так называемой «master thread»). При выходе
из параллельной области основная нить дожидается завершения
остальных нитей и продолжает выполнение программы в одном
экземпляре. Предполагается, что в SMP-системе нити будут распре-
делены по различным процессорам (однако это, как правило, нахо-
дится в ведении операционной системы). Атрибут – это необяза-
тельный модификатор директивы, влияющий на ее выполнение.
Атрибуты могут быть следующими:
PRIVATE (список)
Каждая нить имеет свою собственную неинициализированную
локальную копию переменных и общих блоков, перечисленных в
списке.
SHARED (список)
Этот атрибут определяет, что переменные, перечисленные в спи-
ске, являются доступными для всех нитей. Если переменная опреде-
ляется как SHARED, то тем самым утверждается, что все нити мо-
гут работать только с одной копией переменной.
DEFAULT (атрибут)
Атрибут может иметь одно из следующих значений:
PRIVATE
SHARED
NONE
Когда в директиве PARALLEL используется атрибут DE-
FAULT, то тем самым объявляется, что все переменные в блоке
операторов параллельной области программы должны быть PRI-
VATE, SHARED или NONE.
FIRSTPRIVATE (список)
Этот атрибут используется подобно PRIVATE за исключением
того, что каждая нить получает инициализированные копии пере-
менных, перечисленных в списке.
REDUCTION ({оператор|встроенная функция}:список)
Здесь оператор|встроенная функция могут принимать одно из
следующих значений (начальное значение переменной из списка
приведено в скобках):
+ (0)
* (1)
- (0)
.AND.(.TRUE.)
.OR. (.FALSE.)
Страницы
- « первая
- ‹ предыдущая
- …
- 28
- 29
- 30
- 31
- 32
- …
- следующая ›
- последняя »
