diff options
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.var | 104 |
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 ! *** |