Н., Пескова Е. Е., Шаманаев П. А. Основы параллельного программирования с использованием технологий mpi и openmp учебное пособие саранск издательство свмо 2013 2



Pdf көрінісі
бет35/53
Дата07.06.2023
өлшемі6.58 Mb.
#474796
1   ...   31   32   33   34   35   36   37   38   ...   53
ParProg MPI OpenMP

omp_set_max_active_levels()
Если значение max превышает максимально допустимое в системе
будет установлено максимально допустимое в системе значение. При 
вызове из параллельной области результат выполнения зависит от 
реализации.
Значение переменной OMP_MAX_ACTIVE_LEVELS может быть
получено при помощи вызова функции omp_get_max_active_levels()
Функция omp_get_level() выдаёт для вызвавшей нити количество 
вложенных параллельных областей в данном месте кода. При вызове из 
последовательной области функция возвращает значение 0. 
Функция omp_get_ancestor_thread_num() возвращает для уровня 
вложенности параллельных областей, заданного параметром level, номер 
нити, породившей данную нить. Если level меньше нуля или больше 


55 
текущего уровня вложенности, возвращается -1. Если level=0, функция 
вернёт 0, а если level=omp_get_level(), вызов эквивалентен вызову 
функции omp_get_thread_num().
Функция omp_get_team_size() возвращает для заданного параметром 
level уровня вложенности параллельных областей количество нитей
порождённых одной родительской нитью. 
Если level меньше нуля или больше текущего уровня вложенности, 
возвращается 
-1. 
Если 
level=0
функция 
вернёт 
1, 
а 
если 
level=omp_get_level()
вызов 
эквивалентен 
вызову 
функции 
omp_get_num_threads().
Функция omp_get_active_level() возвращает для вызвавшей нити 
количество вложенных параллельных областей, обрабатываемых более 
чем одной нитью, в данном месте кода. При вызове из последовательной 
области возвращает значение 0.
Переменная среды OMP_STACKSIZE задаёт размер стека для
создаваемых из программы нитей. Значение переменной может
задаваться в виде size | sizeB | sizeK | sizeM | sizeG, где size – 
положительное целое число, а буквы B, K, M, G задают соответственно, 
байты, килобайты, мегабайты и гигабайты. Если ни одной из этих букв не 
указано, размер задаётся в килобайтах. Если задан неправильный
формат или невозможно выделить запрошенный размер стека, результат 
будет зависеть от реализации. 
Переменная среды OMP_WAIT_POLICY задаёт поведение
ждущих процессов.
Если задано значение ACTIVE, то ждущему процессу будут 
выделяться циклы процессорного времени, а при значении PASSIVE
ждущий процесс может быть отправлен в спящий режим, при этом 
процессор может быть назначен другим процессам.
Переменная среды OMP_THREAD_LIMIT задаёт максимальное 
число нитей, допустимых в программе. Если значение переменной не 
является положительным целым числом или превышает максимально 
допустимое в системе число процессов, поведение программы будет 
зависеть от реализации. Значение переменной может быть получено при
помощи процедуры omp_get_thread_limit() [11,13,14].


Достарыңызбен бөлісу:
1   ...   31   32   33   34   35   36   37   38   ...   53




©dereksiz.org 2024
әкімшілігінің қараңыз

    Басты бет