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

UptoLike

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

29
void omp_unset_nest_lock(omp_nest_lock_t *lock);
subroutine omp_unset_nest_lock(lock)
integer(kind = omp_nest_lock_kind) :: lock
Освобождает
выполняющийся
поток
от
владения
вложенной
блокировкой
,
связанной
с
идентификатором
lock
.
Если
поток
не
был
владельцем
блокировки
,
результат
не
определен
.
int omp_test_nest_lock(omp_nest_lock_t *lock);
integer function omp_test_nest_lock(lock)
integer(kind = omp_nest_lock_kind) :: lock
Функция
,
позволяющая
определить
,
связана
ли
вложенная
блокировка
с
идентификатором
lock
.
Если
связана
,
возвращается
значение
счетчика
,
в
противном
случае
возвращается
значение
0.
Таймеры
Для
профилирования
OpenMP
программы
можно
использовать
таймеры
.
double omp_get_wtime(void);
double precision function omp_get_wtime()
Возвращает
время
в
секундах
,
прошедшее
с
произвольного
момента
в
прошлом
.
Точка
отсчета
остается
неизменной
в
течение
всего
времени
выполнения
программы
.
double omp_get_wtick(void);
double precision function omp_get_wtick()
Возвращает
время
в
секундах
,
прошедшее
между
последовательными
«
тиками
».
Это
время
является
мерой
точности
таймера
.
Переменные окружения OpenMP
Переменные
окружения
задаются
следующим
образом
:
export ПЕРЕМЕННАЯ=значение (в
среде
UNIX
)
set ПЕРЕМЕННАЯ=значение (в
среде
Microsoft Windows)
OMP_NUM_THREADS
Задает
количество
нитей
при
выполнении
параллельных
секций
программы
.
OMP_SCHEDULE
Задает
способ
распределения
итераций
циклов
между
нитями
.
Возможные
значения
:
static
;
dynamic
;