forked from OSchip/llvm-project
[OpenMP] Define named constants for interop's foreign runtime ID
Also added missing Fortran definitions for interop support. Differential Revision: https://reviews.llvm.org/D102883
This commit is contained in:
parent
baa2b8d085
commit
cf5c94ef08
|
@ -182,6 +182,16 @@
|
|||
omp_irc_other = -6
|
||||
} omp_interop_rc_t;
|
||||
|
||||
typedef enum omp_interop_fr {
|
||||
omp_ifr_cuda = 1,
|
||||
omp_ifr_cuda_driver = 2,
|
||||
omp_ifr_opencl = 3,
|
||||
omp_ifr_sycl = 4,
|
||||
omp_ifr_hip = 5,
|
||||
omp_ifr_level_zero = 6,
|
||||
omp_ifr_last = 7
|
||||
} omp_interop_fr_t;
|
||||
|
||||
typedef void * omp_interop_t;
|
||||
|
||||
/*!
|
||||
|
@ -211,7 +221,7 @@
|
|||
/*!
|
||||
* The `omp_get_interop_rc_desc` routine retrieves a description of the return code associated with an `omp_interop_t` object.
|
||||
*/
|
||||
extern const char * __KAI_KMPC_CONVENTION omp_get_interop_rc_desc(const omp_interop_rc_t, omp_interop_rc_t);
|
||||
extern const char * __KAI_KMPC_CONVENTION omp_get_interop_rc_desc(const omp_interop_t, omp_interop_rc_t);
|
||||
|
||||
/* OpenMP 5.1 device memory routines */
|
||||
|
||||
|
|
|
@ -34,6 +34,8 @@
|
|||
integer, parameter :: omp_memspace_handle_kind = c_intptr_t
|
||||
integer, parameter :: omp_alloctrait_key_kind = omp_integer_kind
|
||||
integer, parameter :: omp_alloctrait_val_kind = c_intptr_t
|
||||
integer, parameter :: omp_interop_kind = c_intptr_t
|
||||
integer, parameter :: omp_interop_fr_kind = omp_integer_kind
|
||||
|
||||
type omp_alloctrait
|
||||
integer(kind=omp_alloctrait_key_kind) key
|
||||
|
@ -156,6 +158,16 @@
|
|||
integer (kind=omp_pause_resource_kind), parameter :: omp_pause_soft = 1
|
||||
integer (kind=omp_pause_resource_kind), parameter :: omp_pause_hard = 2
|
||||
|
||||
integer (kind=omp_interop_fr_kind), parameter :: omp_ifr_cuda = 1
|
||||
integer (kind=omp_interop_fr_kind), parameter :: omp_ifr_cuda_driver = 2
|
||||
integer (kind=omp_interop_fr_kind), parameter :: omp_ifr_opencl = 3
|
||||
integer (kind=omp_interop_fr_kind), parameter :: omp_ifr_sycl = 4
|
||||
integer (kind=omp_interop_fr_kind), parameter :: omp_ifr_hip = 5
|
||||
integer (kind=omp_interop_fr_kind), parameter :: omp_ifr_level_zero = 6
|
||||
integer (kind=omp_interop_fr_kind), parameter :: omp_ifr_last = 7
|
||||
|
||||
integer (kind=omp_interop_kind), parameter :: omp_interop_none = 0
|
||||
|
||||
interface
|
||||
|
||||
! ***
|
||||
|
|
|
@ -52,6 +52,10 @@
|
|||
parameter(omp_depend_kind=int_ptr_kind())
|
||||
integer omp_event_handle_kind
|
||||
parameter(omp_event_handle_kind=int_ptr_kind())
|
||||
integer omp_interop_kind
|
||||
parameter(omp_interop_kind=int_ptr_kind())
|
||||
integer omp_interop_fr_kind
|
||||
parameter(omp_interop_fr_kind=omp_integer_kind)
|
||||
|
||||
integer(kind=omp_integer_kind)openmp_version
|
||||
parameter(openmp_version=@LIBOMP_OMP_YEAR_MONTH@)
|
||||
|
@ -247,6 +251,24 @@
|
|||
integer(kind=omp_pause_resource_kind)omp_pause_hard
|
||||
parameter(omp_pause_hard=2)
|
||||
|
||||
integer(kind=omp_interop_fr_kind)omp_ifr_cuda
|
||||
parameter(omp_ifr_cuda=1)
|
||||
integer(kind=omp_interop_fr_kind)omp_ifr_cuda_driver
|
||||
parameter(omp_ifr_cuda_driver=2)
|
||||
integer(kind=omp_interop_fr_kind)omp_ifr_opencl
|
||||
parameter(omp_ifr_opencl=3)
|
||||
integer(kind=omp_interop_fr_kind)omp_ifr_sycl
|
||||
parameter(omp_ifr_sycl=4)
|
||||
integer(kind=omp_interop_fr_kind)omp_ifr_hip
|
||||
parameter(omp_ifr_hip=5)
|
||||
integer(kind=omp_interop_fr_kind)omp_ifr_level_zero
|
||||
parameter(omp_ifr_level_zero=6)
|
||||
integer(kind=omp_interop_fr_kind)omp_ifr_last
|
||||
parameter(omp_ifr_last=7)
|
||||
|
||||
integer(kind=omp_interop_kind)omp_interop_none
|
||||
parameter(omp_interop_none=0)
|
||||
|
||||
interface
|
||||
|
||||
! ***
|
||||
|
|
Loading…
Reference in New Issue