Поделиться через


2.9 Директива Nesting

Динамическое вложение директив должен соответствовать следующим правилам:

  • A Параллельно директива динамически внутри других Параллельно логический задает новую рабочую группу, которая состоит из текущего потока, только если во вложенном параллелизм не включена.

  • для" Разделыи Одинарный директивы, которые связываются с этим же Параллельно не следует разрешать, чтобы вложить в друга.

  • Критические директивы с таким же именем не могут быть вложены в друга. Обратите внимание на это ограничение не достаточны, чтобы предотвратить взаимоблокировку.

  • для" Разделыи Одинарный директивы не разрешены в динамической экстенты Критические" Упорядоченои Образец если директивы области связываются с одинаковым Параллельно в качестве области.

  • барьер директивы не разрешены в динамической экстенты для" Упорядочено" Разделы" Одинарный" Образеци Критические если директивы области связываются с одинаковым Параллельно в качестве области.

  • Образец директивы не разрешены в динамической экстенты для" Разделыи Одинарный если директивы Образец привязка к одним и тем же директив Параллельно как рабочий-совместно с помощью директивы.

  • Упорядочено директивы не разрешены в динамической экстенты Критические если директивы области связываются с одинаковым Параллельно в качестве области.

  • Any директива, которая используется при выполнении динамически в параллельной области также разрешено выполняться вне параллельной области. При выполнении динамически вне параллельной области пользователь-определенная директива выполняется командой структурной только главного потока.