Parallel Programming in Fortran 95 using OpenMP - People
Parallel Programming in Fortran 95 using OpenMP - People
Parallel Programming in Fortran 95 using OpenMP - People
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
4.4. The <strong>Fortran</strong> 90 module omp lib 67<br />
function OMP_get_num_procs()<br />
<strong>in</strong>teger(k<strong>in</strong>d = OMP_<strong>in</strong>teger_k<strong>in</strong>d) :: OMP_get_num_procs<br />
end function OMP_get_num_procs<br />
function OMP_<strong>in</strong>_parallel()<br />
logical(k<strong>in</strong>d = OMP_logical_k<strong>in</strong>d) :: OMP_<strong>in</strong>_parallel<br />
end function OMP_<strong>in</strong>_parallel<br />
subrout<strong>in</strong>e OMP_set_dynamic(enable)<br />
logical(k<strong>in</strong>d = OMP_logical_k<strong>in</strong>d), <strong>in</strong>tent(<strong>in</strong>) :: enable<br />
end subrout<strong>in</strong>e OMP_set_dynamic<br />
function OMP_get_dynamic()<br />
logical(k<strong>in</strong>d = OMP_logical_k<strong>in</strong>d) :: OMP_get_dynamic<br />
end function OMP_get_dynamic<br />
subrout<strong>in</strong>e OMP_set_nested(enable)<br />
logical(k<strong>in</strong>d = OMP_logical_k<strong>in</strong>d), <strong>in</strong>tent(<strong>in</strong>) :: enable<br />
end subrout<strong>in</strong>e OMP_set_nested<br />
function OMP_get_nested()<br />
logical(k<strong>in</strong>d = OMP_logical_k<strong>in</strong>d) :: OMP_get_nested<br />
end function OMP_get_nested<br />
subrout<strong>in</strong>e OMP_<strong>in</strong>it_lock(var)<br />
<strong>in</strong>teger(k<strong>in</strong>d = OMP_lock_k<strong>in</strong>d), <strong>in</strong>tent(out) :: var<br />
end subrout<strong>in</strong>e OMP_<strong>in</strong>it_lock<br />
subrout<strong>in</strong>e OMP_<strong>in</strong>it_nest_lock(var)<br />
<strong>in</strong>teger(k<strong>in</strong>d = OMP_nest_lock_k<strong>in</strong>d), <strong>in</strong>tent(out) :: var<br />
end subrout<strong>in</strong>e OMP_<strong>in</strong>it_nest_lock<br />
subrout<strong>in</strong>e OMP_destroy_lock(var)<br />
<strong>in</strong>teger(k<strong>in</strong>d = OMP_lock_k<strong>in</strong>d), <strong>in</strong>tent(<strong>in</strong>out) :: var<br />
end subrout<strong>in</strong>e OMP_destroy_lock<br />
subrout<strong>in</strong>e OMP_destroy_nest_lock(var)<br />
<strong>in</strong>teger(k<strong>in</strong>d = OMP_nest_lock_k<strong>in</strong>d), <strong>in</strong>tent(<strong>in</strong>out) :: var<br />
end subrout<strong>in</strong>e OMP_destroy_nest_lock<br />
subrout<strong>in</strong>e OMP_set_lock(var)<br />
<strong>in</strong>teger(k<strong>in</strong>d = OMP_lock_k<strong>in</strong>d), <strong>in</strong>tent(<strong>in</strong>out) :: var<br />
end subrout<strong>in</strong>e OMP_set_lock<br />
subrout<strong>in</strong>e OMP_set_nest_lock(var)<br />
<strong>in</strong>teger(k<strong>in</strong>d = OMP_nest_lock_k<strong>in</strong>d), <strong>in</strong>tent(<strong>in</strong>out) :: var<br />
end subrout<strong>in</strong>e OMP_set_nest_lock<br />
subrout<strong>in</strong>e OMP_unset_lock(var)<br />
<strong>in</strong>teger(k<strong>in</strong>d = OMP_lock_k<strong>in</strong>d), <strong>in</strong>tent(<strong>in</strong>out) :: var<br />
end subrout<strong>in</strong>e OMP_unset_lock<br />
subrout<strong>in</strong>e OMP_unset_nest_lock(var)