26.06.2015 Views

Parallel Programming in Fortran 95 using OpenMP - People

Parallel Programming in Fortran 95 using OpenMP - People

Parallel Programming in Fortran 95 using OpenMP - People

SHOW MORE
SHOW LESS

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)

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!