aboutsummaryrefslogtreecommitdiff
path: root/contrib/llvm-project/openmp/runtime/src/include/omp_lib.h.var
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/llvm-project/openmp/runtime/src/include/omp_lib.h.var')
-rw-r--r--contrib/llvm-project/openmp/runtime/src/include/omp_lib.h.var104
1 files changed, 100 insertions, 4 deletions
diff --git a/contrib/llvm-project/openmp/runtime/src/include/omp_lib.h.var b/contrib/llvm-project/openmp/runtime/src/include/omp_lib.h.var
index f1b6b03f7725..3fb2d25b15f1 100644
--- a/contrib/llvm-project/openmp/runtime/src/include/omp_lib.h.var
+++ b/contrib/llvm-project/openmp/runtime/src/include/omp_lib.h.var
@@ -131,8 +131,8 @@
integer(omp_control_tool_result_kind)omp_control_tool_ignored
parameter(omp_control_tool_ignored=1)
- integer(kind=omp_alloctrait_key_kind)omp_atk_threadmodel
- parameter(omp_atk_threadmodel=1)
+ integer(kind=omp_alloctrait_key_kind)omp_atk_sync_hint
+ parameter(omp_atk_sync_hint=1)
integer(kind=omp_alloctrait_key_kind)omp_atk_alignment
parameter(omp_atk_alignment=2)
integer(kind=omp_alloctrait_key_kind)omp_atk_access
@@ -148,18 +148,20 @@
integer(kind=omp_alloctrait_key_kind)omp_atk_partition
parameter(omp_atk_partition=8)
+ integer(kind=omp_alloctrait_val_kind)omp_atv_default
+ parameter(omp_atv_default=-1)
! Reserved for future use
integer(kind=omp_alloctrait_val_kind)omp_atv_false
parameter(omp_atv_false=0)
! Reserved for future use
integer(kind=omp_alloctrait_val_kind)omp_atv_true
parameter(omp_atv_true=1)
- integer(kind=omp_alloctrait_val_kind)omp_atv_default
- parameter(omp_atv_default=2)
integer(kind=omp_alloctrait_val_kind)omp_atv_contended
parameter(omp_atv_contended=3)
integer(kind=omp_alloctrait_val_kind)omp_atv_uncontended
parameter(omp_atv_uncontended=4)
+ integer(kind=omp_alloctrait_val_kind)omp_atv_serialized
+ parameter(omp_atv_serialized=5)
integer(kind=omp_alloctrait_val_kind)omp_atv_sequential
parameter(omp_atv_sequential=5)
integer(kind=omp_alloctrait_val_kind)omp_atv_private
@@ -585,6 +587,100 @@
logical (kind=omp_logical_kind), value :: verbose
end subroutine omp_display_env
+ function omp_target_alloc(size, device_num) bind(c)
+ use, intrinsic :: iso_c_binding, only : c_ptr, c_size_t, c_int
+ type(c_ptr) omp_target_alloc
+ integer(c_size_t), value :: size
+ integer(c_int), value :: device_num
+ end function omp_target_alloc
+
+ subroutine omp_target_free(device_ptr, device_num) bind(c)
+ use, intrinsic :: iso_c_binding, only : c_ptr, c_int
+ type(c_ptr), value :: device_ptr
+ integer(c_int), value :: device_num
+ end subroutine omp_target_free
+
+ function omp_target_is_present(ptr, device_num) bind(c)
+ use, intrinsic :: iso_c_binding, only : c_ptr, c_int
+ integer(c_int) omp_target_is_present
+ type(c_ptr), value :: ptr
+ integer(c_int), value :: device_num
+ end function omp_target_is_present
+
+ function omp_target_memcpy(dst, src, length, dst_offset, &
+ & src_offset, dst_device_num, src_device_num) bind(c)
+ use, intrinsic :: iso_c_binding, only : c_ptr, c_int, c_size_t
+ integer(c_int) omp_target_memcpy
+ type(c_ptr), value :: dst, src
+ integer(c_size_t), value :: length, dst_offset, src_offset
+ integer(c_int), value :: dst_device_num, src_device_num
+ end function omp_target_memcpy
+
+ function omp_target_memcpy_rect(dst, src, element_size, &
+ & num_dims, volume, dst_offsets, src_offsets, dst_dimensions, &
+ & src_dimensions, dst_device_num, src_device_num) bind(c)
+ use, intrinsic :: iso_c_binding, only : c_ptr, c_int, c_size_t
+ integer(c_int) omp_target_memcpy_rect
+ type(c_ptr), value :: dst, src
+ integer(c_size_t), value :: element_size
+ integer(c_int), value :: num_dims, dst_device_num, &
+ & src_device_num
+ integer(c_size_t), intent(in) :: volume(*), dst_offsets(*), &
+ & src_offsets(*), dst_dimensions(*), src_dimensions(*)
+ end function omp_target_memcpy_rect
+
+ function omp_target_memcpy_async(dst, src, length, dst_offset, &
+ & src_offset, dst_device_num, src_device_num, depobj_count, &
+ & depobj_list) bind(c)
+ use, intrinsic :: iso_c_binding, only : c_ptr, c_int, c_size_t
+ import
+ integer(c_int) omp_target_memcpy_async
+ type(c_ptr), value :: dst, src
+ integer(c_size_t), value :: length, dst_offset, src_offset
+ integer(c_int), value :: dst_device_num, src_device_num, &
+ & depobj_count
+ integer(omp_depend_kind), optional :: depobj_list(*)
+ end function omp_target_memcpy_async
+
+ function omp_target_memcpy_rect_async(dst, src, element_size, &
+ & num_dims, volume, dst_offsets, src_offsets, dst_dimensions, &
+ & src_dimensions, dst_device_num, src_device_num, &
+ & depobj_count, depobj_list) bind(c)
+ use, intrinsic :: iso_c_binding, only : c_ptr, c_int, c_size_t
+ import
+ integer(c_int) omp_target_memcpy_rect_async
+ type(c_ptr), value :: dst, src
+ integer(c_size_t), value :: element_size
+ integer(c_int), value :: num_dims, dst_device_num, &
+ & src_device_num, depobj_count
+ integer(c_size_t), intent(in) :: volume(*), dst_offsets(*), &
+ & src_offsets(*), dst_dimensions(*), src_dimensions(*)
+ integer(omp_depend_kind), optional :: depobj_list(*)
+ end function omp_target_memcpy_rect_async
+
+ function omp_target_associate_ptr(host_ptr, device_ptr, size, &
+ & device_offset, device_num) bind(c)
+ use, intrinsic :: iso_c_binding, only : c_ptr, c_size_t, c_int
+ integer(c_int) omp_target_associate_ptr
+ type(c_ptr), value :: host_ptr, device_ptr
+ integer(c_size_t), value :: size, device_offset
+ integer(c_int), value :: device_num
+ end function omp_target_associate_ptr
+
+ function omp_get_mapped_ptr(ptr, device_num) bind(c)
+ use, intrinsic :: iso_c_binding, only : c_ptr, c_int
+ type(c_ptr) omp_get_mapped_ptr
+ type(c_ptr), value :: ptr
+ integer(c_int), value :: device_num
+ end function omp_get_mapped_ptr
+
+ function omp_target_disassociate_ptr(ptr, device_num) bind(c)
+ use, intrinsic :: iso_c_binding, only : c_ptr, c_int
+ integer(c_int) omp_target_disassociate_ptr
+ type(c_ptr), value :: ptr
+ integer(c_int), value :: device_num
+ end function omp_target_disassociate_ptr
+
! ***
! *** kmp_* entry points
! ***