blob: 368551b6b3f3245d77b6a196f4d61b8dc3161776 [file]
! include/omp_lib_impl.f90.var
!
!//===----------------------------------------------------------------------===//
!//
!// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
!// See https://llvm.org/LICENSE.txt for license information.
!// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
!//
!//===----------------------------------------------------------------------===//
!
! Integer-kind wrapper procedures for omp_lib
submodule (omp_lib) omp_lib_impl
use omp_lib_kinds
contains
module procedure omp_set_num_threads_i1
use, intrinsic :: iso_c_binding, only: c_int
call omp_set_num_threads_c(int(num_threads, kind=c_int))
end procedure omp_set_num_threads_i1
module procedure omp_set_num_threads_i2
use, intrinsic :: iso_c_binding, only: c_int
call omp_set_num_threads_c(int(num_threads, kind=c_int))
end procedure omp_set_num_threads_i2
module procedure omp_set_num_threads_i4
use, intrinsic :: iso_c_binding, only: c_int
call omp_set_num_threads_c(int(num_threads, kind=c_int))
end procedure omp_set_num_threads_i4
module procedure omp_set_num_threads_i8
use, intrinsic :: iso_c_binding, only: c_int
call omp_set_num_threads_c(int(num_threads, kind=c_int))
end procedure omp_set_num_threads_i8
module procedure omp_set_max_active_levels_i1
use, intrinsic :: iso_c_binding, only: c_int
call omp_set_max_active_levels_c(int(max_levels, kind=c_int))
end procedure omp_set_max_active_levels_i1
module procedure omp_set_max_active_levels_i2
use, intrinsic :: iso_c_binding, only: c_int
call omp_set_max_active_levels_c(int(max_levels, kind=c_int))
end procedure omp_set_max_active_levels_i2
module procedure omp_set_max_active_levels_i4
use, intrinsic :: iso_c_binding, only: c_int
call omp_set_max_active_levels_c(int(max_levels, kind=c_int))
end procedure omp_set_max_active_levels_i4
module procedure omp_set_max_active_levels_i8
use, intrinsic :: iso_c_binding, only: c_int
call omp_set_max_active_levels_c(int(max_levels, kind=c_int))
end procedure omp_set_max_active_levels_i8
module procedure omp_set_default_device_i1
use, intrinsic :: iso_c_binding, only: c_int
call omp_set_default_device_c(int(device_num, kind=c_int))
end procedure omp_set_default_device_i1
module procedure omp_set_default_device_i2
use, intrinsic :: iso_c_binding, only: c_int
call omp_set_default_device_c(int(device_num, kind=c_int))
end procedure omp_set_default_device_i2
module procedure omp_set_default_device_i4
use, intrinsic :: iso_c_binding, only: c_int
call omp_set_default_device_c(int(device_num, kind=c_int))
end procedure omp_set_default_device_i4
module procedure omp_set_default_device_i8
use, intrinsic :: iso_c_binding, only: c_int
call omp_set_default_device_c(int(device_num, kind=c_int))
end procedure omp_set_default_device_i8
module procedure omp_set_num_teams_i1
use, intrinsic :: iso_c_binding, only: c_int
call omp_set_num_teams_c(int(num_teams, kind=c_int))
end procedure omp_set_num_teams_i1
module procedure omp_set_num_teams_i2
use, intrinsic :: iso_c_binding, only: c_int
call omp_set_num_teams_c(int(num_teams, kind=c_int))
end procedure omp_set_num_teams_i2
module procedure omp_set_num_teams_i4
use, intrinsic :: iso_c_binding, only: c_int
call omp_set_num_teams_c(int(num_teams, kind=c_int))
end procedure omp_set_num_teams_i4
module procedure omp_set_num_teams_i8
use, intrinsic :: iso_c_binding, only: c_int
call omp_set_num_teams_c(int(num_teams, kind=c_int))
end procedure omp_set_num_teams_i8
module procedure omp_set_teams_thread_limit_i1
use, intrinsic :: iso_c_binding, only: c_int
call omp_set_teams_thread_limit_c(int(thread_limit, kind=c_int))
end procedure omp_set_teams_thread_limit_i1
module procedure omp_set_teams_thread_limit_i2
use, intrinsic :: iso_c_binding, only: c_int
call omp_set_teams_thread_limit_c(int(thread_limit, kind=c_int))
end procedure omp_set_teams_thread_limit_i2
module procedure omp_set_teams_thread_limit_i4
use, intrinsic :: iso_c_binding, only: c_int
call omp_set_teams_thread_limit_c(int(thread_limit, kind=c_int))
end procedure omp_set_teams_thread_limit_i4
module procedure omp_set_teams_thread_limit_i8
use, intrinsic :: iso_c_binding, only: c_int
call omp_set_teams_thread_limit_c(int(thread_limit, kind=c_int))
end procedure omp_set_teams_thread_limit_i8
module procedure kmp_set_stacksize_i1
use, intrinsic :: iso_c_binding, only: c_int
call kmp_set_stacksize_c(int(size, kind=c_int))
end procedure kmp_set_stacksize_i1
module procedure kmp_set_stacksize_i2
use, intrinsic :: iso_c_binding, only: c_int
call kmp_set_stacksize_c(int(size, kind=c_int))
end procedure kmp_set_stacksize_i2
module procedure kmp_set_stacksize_i4
use, intrinsic :: iso_c_binding, only: c_int
call kmp_set_stacksize_c(int(size, kind=c_int))
end procedure kmp_set_stacksize_i4
module procedure kmp_set_stacksize_i8
use, intrinsic :: iso_c_binding, only: c_int
call kmp_set_stacksize_c(int(size, kind=c_int))
end procedure kmp_set_stacksize_i8
module procedure kmp_set_blocktime_i1
use, intrinsic :: iso_c_binding, only: c_int
call kmp_set_blocktime_c(int(msec, kind=c_int))
end procedure kmp_set_blocktime_i1
module procedure kmp_set_blocktime_i2
use, intrinsic :: iso_c_binding, only: c_int
call kmp_set_blocktime_c(int(msec, kind=c_int))
end procedure kmp_set_blocktime_i2
module procedure kmp_set_blocktime_i4
use, intrinsic :: iso_c_binding, only: c_int
call kmp_set_blocktime_c(int(msec, kind=c_int))
end procedure kmp_set_blocktime_i4
module procedure kmp_set_blocktime_i8
use, intrinsic :: iso_c_binding, only: c_int
call kmp_set_blocktime_c(int(msec, kind=c_int))
end procedure kmp_set_blocktime_i8
module procedure kmp_set_library_i1
use, intrinsic :: iso_c_binding, only: c_int
call kmp_set_library_c(int(libnum, kind=c_int))
end procedure kmp_set_library_i1
module procedure kmp_set_library_i2
use, intrinsic :: iso_c_binding, only: c_int
call kmp_set_library_c(int(libnum, kind=c_int))
end procedure kmp_set_library_i2
module procedure kmp_set_library_i4
use, intrinsic :: iso_c_binding, only: c_int
call kmp_set_library_c(int(libnum, kind=c_int))
end procedure kmp_set_library_i4
module procedure kmp_set_library_i8
use, intrinsic :: iso_c_binding, only: c_int
call kmp_set_library_c(int(libnum, kind=c_int))
end procedure kmp_set_library_i8
module procedure kmp_set_disp_num_buffers_i1
use, intrinsic :: iso_c_binding, only: c_int
call kmp_set_disp_num_buffers_c(int(num, kind=c_int))
end procedure kmp_set_disp_num_buffers_i1
module procedure kmp_set_disp_num_buffers_i2
use, intrinsic :: iso_c_binding, only: c_int
call kmp_set_disp_num_buffers_c(int(num, kind=c_int))
end procedure kmp_set_disp_num_buffers_i2
module procedure kmp_set_disp_num_buffers_i4
use, intrinsic :: iso_c_binding, only: c_int
call kmp_set_disp_num_buffers_c(int(num, kind=c_int))
end procedure kmp_set_disp_num_buffers_i4
module procedure kmp_set_disp_num_buffers_i8
use, intrinsic :: iso_c_binding, only: c_int
call kmp_set_disp_num_buffers_c(int(num, kind=c_int))
end procedure kmp_set_disp_num_buffers_i8
module procedure omp_get_ancestor_thread_num_i1
use, intrinsic :: iso_c_binding, only: c_int
omp_get_ancestor_thread_num_i1 = &
omp_get_ancestor_thread_num_c(int(level, kind=c_int))
end procedure omp_get_ancestor_thread_num_i1
module procedure omp_get_ancestor_thread_num_i2
use, intrinsic :: iso_c_binding, only: c_int
omp_get_ancestor_thread_num_i2 = &
omp_get_ancestor_thread_num_c(int(level, kind=c_int))
end procedure omp_get_ancestor_thread_num_i2
module procedure omp_get_ancestor_thread_num_i4
use, intrinsic :: iso_c_binding, only: c_int
omp_get_ancestor_thread_num_i4 = &
omp_get_ancestor_thread_num_c(int(level, kind=c_int))
end procedure omp_get_ancestor_thread_num_i4
module procedure omp_get_ancestor_thread_num_i8
use, intrinsic :: iso_c_binding, only: c_int
omp_get_ancestor_thread_num_i8 = &
omp_get_ancestor_thread_num_c(int(level, kind=c_int))
end procedure omp_get_ancestor_thread_num_i8
module procedure omp_get_team_size_i1
use, intrinsic :: iso_c_binding, only: c_int
omp_get_team_size_i1 = omp_get_team_size_c(int(level, kind=c_int))
end procedure omp_get_team_size_i1
module procedure omp_get_team_size_i2
use, intrinsic :: iso_c_binding, only: c_int
omp_get_team_size_i2 = omp_get_team_size_c(int(level, kind=c_int))
end procedure omp_get_team_size_i2
module procedure omp_get_team_size_i4
use, intrinsic :: iso_c_binding, only: c_int
omp_get_team_size_i4 = omp_get_team_size_c(int(level, kind=c_int))
end procedure omp_get_team_size_i4
module procedure omp_get_team_size_i8
use, intrinsic :: iso_c_binding, only: c_int
omp_get_team_size_i8 = omp_get_team_size_c(int(level, kind=c_int))
end procedure omp_get_team_size_i8
module procedure omp_get_place_num_procs_i1
use, intrinsic :: iso_c_binding, only: c_int
omp_get_place_num_procs_i1 = &
omp_get_place_num_procs_c(int(place_num, kind=c_int))
end procedure omp_get_place_num_procs_i1
module procedure omp_get_place_num_procs_i2
use, intrinsic :: iso_c_binding, only: c_int
omp_get_place_num_procs_i2 = &
omp_get_place_num_procs_c(int(place_num, kind=c_int))
end procedure omp_get_place_num_procs_i2
module procedure omp_get_place_num_procs_i4
use, intrinsic :: iso_c_binding, only: c_int
omp_get_place_num_procs_i4 = &
omp_get_place_num_procs_c(int(place_num, kind=c_int))
end procedure omp_get_place_num_procs_i4
module procedure omp_get_place_num_procs_i8
use, intrinsic :: iso_c_binding, only: c_int
omp_get_place_num_procs_i8 = &
omp_get_place_num_procs_c(int(place_num, kind=c_int))
end procedure omp_get_place_num_procs_i8
module procedure omp_set_schedule_i1
use, intrinsic :: iso_c_binding, only: c_int
call omp_set_schedule_c(kind, int(chunk_size, kind=c_int))
end procedure omp_set_schedule_i1
module procedure omp_set_schedule_i2
use, intrinsic :: iso_c_binding, only: c_int
call omp_set_schedule_c(kind, int(chunk_size, kind=c_int))
end procedure omp_set_schedule_i2
module procedure omp_set_schedule_i4
use, intrinsic :: iso_c_binding, only: c_int
call omp_set_schedule_c(kind, int(chunk_size, kind=c_int))
end procedure omp_set_schedule_i4
module procedure omp_set_schedule_i8
use, intrinsic :: iso_c_binding, only: c_int
call omp_set_schedule_c(kind, int(chunk_size, kind=c_int))
end procedure omp_set_schedule_i8
module procedure omp_get_schedule_i1
use, intrinsic :: iso_c_binding, only: c_int
integer(c_int) :: kind_c, chunk_c
call omp_get_schedule_c(kind_c, chunk_c)
kind = kind_c
chunk_size = chunk_c
end procedure omp_get_schedule_i1
module procedure omp_get_schedule_i2
use, intrinsic :: iso_c_binding, only: c_int
integer(c_int) :: kind_c, chunk_c
call omp_get_schedule_c(kind_c, chunk_c)
kind = kind_c
chunk_size = chunk_c
end procedure omp_get_schedule_i2
module procedure omp_get_schedule_i4
use, intrinsic :: iso_c_binding, only: c_int
integer(c_int) :: kind_c, chunk_c
call omp_get_schedule_c(kind_c, chunk_c)
kind = kind_c
chunk_size = chunk_c
end procedure omp_get_schedule_i4
module procedure omp_get_schedule_i8
use, intrinsic :: iso_c_binding, only: c_int
integer(c_int) :: kind_c, chunk_c
call omp_get_schedule_c(kind_c, chunk_c)
kind = kind_c
chunk_size = chunk_c
end procedure omp_get_schedule_i8
module procedure omp_pause_resource_i1
use, intrinsic :: iso_c_binding, only: c_int
omp_pause_resource_i1 = &
omp_pause_resource_c(kind, int(device_num, kind=c_int))
end procedure omp_pause_resource_i1
module procedure omp_pause_resource_i2
use, intrinsic :: iso_c_binding, only: c_int
omp_pause_resource_i2 = &
omp_pause_resource_c(kind, int(device_num, kind=c_int))
end procedure omp_pause_resource_i2
module procedure omp_pause_resource_i4
use, intrinsic :: iso_c_binding, only: c_int
omp_pause_resource_i4 = &
omp_pause_resource_c(kind, int(device_num, kind=c_int))
end procedure omp_pause_resource_i4
module procedure omp_pause_resource_i8
use, intrinsic :: iso_c_binding, only: c_int
omp_pause_resource_i8 = &
omp_pause_resource_c(kind, int(device_num, kind=c_int))
end procedure omp_pause_resource_i8
module procedure kmp_set_affinity_mask_proc_i1
use, intrinsic :: iso_c_binding, only: c_int
kmp_set_affinity_mask_proc_i1 = &
kmp_set_affinity_mask_proc_c(int(proc, kind=c_int), mask)
end procedure kmp_set_affinity_mask_proc_i1
module procedure kmp_set_affinity_mask_proc_i2
use, intrinsic :: iso_c_binding, only: c_int
kmp_set_affinity_mask_proc_i2 = &
kmp_set_affinity_mask_proc_c(int(proc, kind=c_int), mask)
end procedure kmp_set_affinity_mask_proc_i2
module procedure kmp_set_affinity_mask_proc_i4
use, intrinsic :: iso_c_binding, only: c_int
kmp_set_affinity_mask_proc_i4 = &
kmp_set_affinity_mask_proc_c(int(proc, kind=c_int), mask)
end procedure kmp_set_affinity_mask_proc_i4
module procedure kmp_set_affinity_mask_proc_i8
use, intrinsic :: iso_c_binding, only: c_int
kmp_set_affinity_mask_proc_i8 = &
kmp_set_affinity_mask_proc_c(int(proc, kind=c_int), mask)
end procedure kmp_set_affinity_mask_proc_i8
module procedure kmp_unset_affinity_mask_proc_i1
use, intrinsic :: iso_c_binding, only: c_int
kmp_unset_affinity_mask_proc_i1 = &
kmp_unset_affinity_mask_proc_c(int(proc, kind=c_int), mask)
end procedure kmp_unset_affinity_mask_proc_i1
module procedure kmp_unset_affinity_mask_proc_i2
use, intrinsic :: iso_c_binding, only: c_int
kmp_unset_affinity_mask_proc_i2 = &
kmp_unset_affinity_mask_proc_c(int(proc, kind=c_int), mask)
end procedure kmp_unset_affinity_mask_proc_i2
module procedure kmp_unset_affinity_mask_proc_i4
use, intrinsic :: iso_c_binding, only: c_int
kmp_unset_affinity_mask_proc_i4 = &
kmp_unset_affinity_mask_proc_c(int(proc, kind=c_int), mask)
end procedure kmp_unset_affinity_mask_proc_i4
module procedure kmp_unset_affinity_mask_proc_i8
use, intrinsic :: iso_c_binding, only: c_int
kmp_unset_affinity_mask_proc_i8 = &
kmp_unset_affinity_mask_proc_c(int(proc, kind=c_int), mask)
end procedure kmp_unset_affinity_mask_proc_i8
module procedure kmp_get_affinity_mask_proc_i1
use, intrinsic :: iso_c_binding, only: c_int
kmp_get_affinity_mask_proc_i1 = &
kmp_get_affinity_mask_proc_c(int(proc, kind=c_int), mask)
end procedure kmp_get_affinity_mask_proc_i1
module procedure kmp_get_affinity_mask_proc_i2
use, intrinsic :: iso_c_binding, only: c_int
kmp_get_affinity_mask_proc_i2 = &
kmp_get_affinity_mask_proc_c(int(proc, kind=c_int), mask)
end procedure kmp_get_affinity_mask_proc_i2
module procedure kmp_get_affinity_mask_proc_i4
use, intrinsic :: iso_c_binding, only: c_int
kmp_get_affinity_mask_proc_i4 = &
kmp_get_affinity_mask_proc_c(int(proc, kind=c_int), mask)
end procedure kmp_get_affinity_mask_proc_i4
module procedure kmp_get_affinity_mask_proc_i8
use, intrinsic :: iso_c_binding, only: c_int
kmp_get_affinity_mask_proc_i8 = &
kmp_get_affinity_mask_proc_c(int(proc, kind=c_int), mask)
end procedure kmp_get_affinity_mask_proc_i8
module procedure omp_get_place_proc_ids_i4
use, intrinsic :: iso_c_binding, only: c_int
integer(c_int) :: n, i
integer(c_int), allocatable :: ids_c(:)
n = omp_get_place_num_procs_c(int(place_num, kind=c_int))
allocate(ids_c(n))
call omp_get_place_proc_ids_c(int(place_num, kind=c_int), ids_c)
do i = 1, n
ids(i) = ids_c(i)
end do
deallocate(ids_c)
end procedure omp_get_place_proc_ids_i4
module procedure omp_get_place_proc_ids_i8
use, intrinsic :: iso_c_binding, only: c_int
integer(c_int) :: n, i
integer(c_int), allocatable :: ids_c(:)
n = omp_get_place_num_procs_c(int(place_num, kind=c_int))
allocate(ids_c(n))
call omp_get_place_proc_ids_c(int(place_num, kind=c_int), ids_c)
do i = 1, n
ids(i) = ids_c(i)
end do
deallocate(ids_c)
end procedure omp_get_place_proc_ids_i8
module procedure omp_get_partition_place_nums_i4
use, intrinsic :: iso_c_binding, only: c_int
integer(c_int) :: n, i
integer(c_int), allocatable :: place_nums_c(:)
n = omp_get_partition_num_places()
allocate(place_nums_c(n))
call omp_get_partition_place_nums_c(place_nums_c)
do i = 1, n
place_nums(i) = place_nums_c(i)
end do
deallocate(place_nums_c)
end procedure omp_get_partition_place_nums_i4
module procedure omp_get_partition_place_nums_i8
use, intrinsic :: iso_c_binding, only: c_int
integer(c_int) :: n, i
integer(c_int), allocatable :: place_nums_c(:)
n = omp_get_partition_num_places()
allocate(place_nums_c(n))
call omp_get_partition_place_nums_c(place_nums_c)
do i = 1, n
place_nums(i) = place_nums_c(i)
end do
deallocate(place_nums_c)
end procedure omp_get_partition_place_nums_i8
end submodule omp_lib_impl