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


OMP_NESTED  функцией  omp_set_nested()



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

    Бұл бет үшін навигация:
  • OMP_NESTED
OMP_NESTED 
функцией 
omp_set_nested(), где в качестве параметра задается 0 или 1. Данная 
функция разрешает или запрещает вложенный параллелизм. Если 
вложенный параллелизм разрешён, то каждая нить, в которой встретится 
описание параллельной области, породит для её выполнения новую 
группу нитей. Сама породившая нить станет в новой группе нитью-
мастером. Если система не поддерживает вложенный параллелизм, данная 
функция не будет иметь эффекта. Получить значение переменной 
OMP_NESTED можно с помощью функции omp_get_nested()
Пример 3.6. 
#include 
#include 
int main()
{
int n;
omp_set_nested(1);


54 
#pragma omp parallel private(n)
{
n=omp_get_thread_num();
#pragma omp parallel
{
printf("Нить %d - %d\n", n,
omp_get_thread_num());
}
}
return 0; 
} 
Вызов 
функции 
omp_set_nested() 
разрешает 
использование 
вложенных параллельных областей. Каждая нить внешней параллельной 
области породит новые нити, каждая из которых напечатает свой номер 
вместе с номером породившей нити. 
Функция 
omp_get_max_threads() 
возвращает 
максимально 
допустимое число нитей для использования в следующей параллельной 
области. 
Функция omp_get_num_procs() возвращает количество процессоров, 
доступных для использования программе пользователя на момент вызова. 
Нужно учитывать, что количество доступных процессоров может 
динамически изменяться. 
Функция omp_in_parallel() возвращает 1, если она была вызвана из 
активной параллельной области программы. 
Переменная OMP_MAX_ACTIVE_LEVELS задаёт максимально 
допустимое количество вложенных параллельных областей. Значение 
может 
быть 
установлено 
при 
помощи 
вызова 
функции 


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




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

    Басты бет