Средства программирования для многопроцессорных вычислительных систем. Немнюгин C.А. - 27 стр.

UptoLike

Составители: 

27
logical threads
Включает
или
отключает
возможность
динамического
назначения
количества
потоков
при
выполнении
параллельной
секции
.
По
умолчанию
эта
возможность
отключена
.
int omp_get_dynamic(void);
logical function omp_get_dynamic()
Возвращает
значение
true
,
если
динамическое
назначение
количества
потоков
разрешено
.
void omp_set_nested(int nested);
subroutine omp_set_nested(nested)
integer nested
Разрешает
или
запрещает
вложенный
параллелизм
.
По
умолчанию
вложенный
параллелизм
запрещен
.
int omp_get_nested(void);
logical function omp_get_nested()
Определяет
,
разрешен
ли
вложенный
параллелизм
.
Подпрограммы для работы с блокировками
Блокировки
используются
для
предотвращения
эффектов
,
приводящих
к
непредсказуемому
(
недетерминированному
)
поведению
программы
.
Среди
таких
эффектов
,
например
,
гонки
за
данными
,
когда
более
чем
один
поток
имеет
доступ
к
одной
и
той
же
переменной
.
void omp_init_lock(omp_lock_t *lock);
subroutine omp_init_lock(lock)
integer(kind = omp_lock_kind) :: lock
Инициализирует
блокировку
,
связанную
с
идентификатором
lock
,
для
использования
в
последующих
вызовах
подпрограмм
.
void omp_destroy_lock(omp_lock_t *lock);
subroutine omp_destroy_lock(lock)
integer(kind = omp_lock_kind) :: lock
Переводит
блокировку
,
связанную
с
идентификатором
lock
,
в
состояние
неопределенности
.
void omp_set_lock(omp_lock_t *lock);