Merge llvm-project 12.0.0 release
This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvmorg-12.0.0-0-gd28af7c654d8, a.k.a. 12.0.0 release. PR: 255570 MFC after: 6 weeks
This commit is contained in:
@@ -45,6 +45,8 @@
|
||||
#define OMPT_DEBUG LIBOMP_OMPT_DEBUG
|
||||
#define LIBOMP_OMPT_SUPPORT 1
|
||||
#define OMPT_SUPPORT LIBOMP_OMPT_SUPPORT
|
||||
#define LIBOMP_PROFILING_SUPPORT 0
|
||||
#define OMP_PROFILING_SUPPORT LIBOMP_PROFILING_SUPPORT
|
||||
#define LIBOMP_OMPT_OPTIONAL 1
|
||||
#define OMPT_OPTIONAL LIBOMP_OMPT_OPTIONAL
|
||||
#define LIBOMP_USE_ADAPTIVE_LOCKS 1
|
||||
@@ -71,10 +73,26 @@
|
||||
#endif
|
||||
#define MSVC 0
|
||||
#define KMP_MSVC_COMPAT MSVC
|
||||
#define LIBOMP_HAVE_WAITPKG_INTRINSICS 1
|
||||
#define KMP_HAVE_WAITPKG_INTRINSICS LIBOMP_HAVE_WAITPKG_INTRINSICS
|
||||
#define LIBOMP_HAVE_RTM_INTRINSICS 1
|
||||
#define KMP_HAVE_RTM_INTRINSICS LIBOMP_HAVE_RTM_INTRINSICS
|
||||
#define LIBOMP_HAVE_IMMINTRIN_H 1
|
||||
#define KMP_HAVE_IMMINTRIN_H LIBOMP_HAVE_IMMINTRIN_H
|
||||
#define LIBOMP_HAVE_INTRIN_H 0
|
||||
#define KMP_HAVE_INTRIN_H LIBOMP_HAVE_INTRIN_H
|
||||
#define LIBOMP_HAVE_ATTRIBUTE_WAITPKG 1
|
||||
#define KMP_HAVE_ATTRIBUTE_WAITPKG LIBOMP_HAVE_ATTRIBUTE_WAITPKG
|
||||
#define LIBOMP_HAVE_ATTRIBUTE_RTM 1
|
||||
#define KMP_HAVE_ATTRIBUTE_RTM LIBOMP_HAVE_ATTRIBUTE_RTM
|
||||
#define LIBOMP_ARCH_AARCH64_A64FX 0
|
||||
#define KMP_ARCH_AARCH64_A64FX LIBOMP_ARCH_AARCH64_A64FX
|
||||
|
||||
// Configured cache line based on architecture
|
||||
#if KMP_ARCH_PPC64
|
||||
# define CACHE_LINE 128
|
||||
#elif KMP_ARCH_AARCH64_A64FX
|
||||
# define CACHE_LINE 256
|
||||
#else
|
||||
# define CACHE_LINE 64
|
||||
#endif
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
// $FreeBSD$
|
||||
// Do not edit this file! //
|
||||
// The file was generated from en_US.txt by message-converter.pl on Fri Aug 23 08:40:57 2019. //
|
||||
// The file was generated from en_US.txt by message-converter.pl on Mon Apr 26 14:12:23 2021. //
|
||||
|
||||
static char const *
|
||||
__kmp_i18n_default_meta[] =
|
||||
@@ -245,7 +245,7 @@ __kmp_i18n_default_messages[] =
|
||||
"%1$s: Affinity capable, using default \"flat\" topology",
|
||||
"%1$s: Affinity not capable, using local cpuid info",
|
||||
"%1$s: Affinity not capable, using cpuinfo file",
|
||||
"%1$s: Affinity not capable, assumming \"flat\" topology",
|
||||
"%1$s: Affinity not capable, assuming \"flat\" topology",
|
||||
"%1$s: Initial OS proc set respected: %2$s",
|
||||
"%1$s: Initial OS proc set not respected: %2$s",
|
||||
"%1$s: %2$d available OS procs",
|
||||
@@ -311,7 +311,7 @@ __kmp_i18n_default_messages[] =
|
||||
"%1$s - exiting.",
|
||||
"Incompatible %1$s library with version %2$s found.",
|
||||
"ittnotify: Function %1$s failed:",
|
||||
"ittnofify: Error #%1$d.",
|
||||
"ittnotify: Error #%1$d.",
|
||||
"%1$s must be set prior to first parallel region or certain API calls; ignored.",
|
||||
"Lock initialized at %1$s(%2$d) was not destroyed",
|
||||
"Cannot determine machine load balance - Using %1$s",
|
||||
@@ -354,6 +354,7 @@ __kmp_i18n_default_messages[] =
|
||||
"%1$s: Ignoring hwloc mechanism.",
|
||||
"%1$s: Hwloc failed in %2$s. Relying on internal affinity mechanisms.",
|
||||
"%1$s must be set prior to OpenMP runtime library initialization; ignored.",
|
||||
"You have enabled the use of umonitor/umwait. If the CPU doesn't have that enabled you'll get an illegal instruction exception.",
|
||||
"%1$s variable deprecated, please use %2$s instead.",
|
||||
"KMP_FORCE_REDUCTION: %1$s method is not supported; using critical.",
|
||||
"KMP_HW_SUBSET ignored: unsupported item requested for non-HWLOC topology method (KMP_TOPOLOGY_METHOD)",
|
||||
@@ -363,6 +364,7 @@ __kmp_i18n_default_messages[] =
|
||||
"Hierarchy ignored: unsupported level: %1$s.",
|
||||
"OMP: pid %1$s tid %2$s thread %3$s bound to OS proc set {%4$s}",
|
||||
"%1$s routine deprecated, please use %2$s instead.",
|
||||
"libgomp compatibility layer does not support OpenMP feature: %1$s",
|
||||
NULL
|
||||
};
|
||||
|
||||
@@ -413,7 +415,7 @@ __kmp_i18n_sections[] =
|
||||
{ 5, __kmp_i18n_default_meta },
|
||||
{ 55, __kmp_i18n_default_strings },
|
||||
{ 6, __kmp_i18n_default_formats },
|
||||
{ 270, __kmp_i18n_default_messages },
|
||||
{ 272, __kmp_i18n_default_messages },
|
||||
{ 27, __kmp_i18n_default_hints },
|
||||
{ 0, NULL }
|
||||
};
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
// $FreeBSD$
|
||||
// Do not edit this file! //
|
||||
// The file was generated from en_US.txt by message-converter.pl on Fri Aug 23 08:40:57 2019. //
|
||||
// The file was generated from en_US.txt by message-converter.pl on Mon Apr 26 14:12:23 2021. //
|
||||
|
||||
enum kmp_i18n_id {
|
||||
|
||||
@@ -348,6 +348,7 @@ enum kmp_i18n_id {
|
||||
kmp_i18n_msg_AffIgnoringHwloc,
|
||||
kmp_i18n_msg_AffHwlocErrorOccurred,
|
||||
kmp_i18n_msg_EnvSerialWarn,
|
||||
kmp_i18n_msg_EnvMwaitWarn,
|
||||
kmp_i18n_msg_EnvVarDeprecated,
|
||||
kmp_i18n_msg_RedMethodNotSupported,
|
||||
kmp_i18n_msg_AffHWSubsetNoHWLOC,
|
||||
@@ -357,6 +358,7 @@ enum kmp_i18n_id {
|
||||
kmp_i18n_msg_HierSchedInvalid,
|
||||
kmp_i18n_msg_AffFormatDefault,
|
||||
kmp_i18n_msg_APIDeprecated,
|
||||
kmp_i18n_msg_GompFeatureNotSupported,
|
||||
kmp_i18n_msg_last,
|
||||
|
||||
// Set #5, hints.
|
||||
|
||||
+117
-24
@@ -21,6 +21,16 @@
|
||||
#include <stdint.h>
|
||||
#include <stddef.h>
|
||||
|
||||
#ifdef DEPRECATION_WARNINGS
|
||||
# ifdef __cplusplus
|
||||
# define DEPRECATED_51 [[deprecated("as of 5.1")]]
|
||||
# else
|
||||
# define DEPRECATED_51 __attribute__((deprecated("as of 5.1")))
|
||||
#endif
|
||||
#else
|
||||
#define DEPRECATED_51
|
||||
#endif
|
||||
|
||||
/*****************************************************************************
|
||||
* iteration macros
|
||||
*****************************************************************************/
|
||||
@@ -134,7 +144,7 @@
|
||||
\
|
||||
macro (ompt_callback_work, ompt_callback_work_t, 20) /* task at work begin or end */ \
|
||||
\
|
||||
macro (ompt_callback_master, ompt_callback_master_t, 21) /* task at master begin or end */ \
|
||||
macro (ompt_callback_masked, ompt_callback_masked_t, 21) /* task at masked begin or end */ \
|
||||
\
|
||||
macro (ompt_callback_target_map, ompt_callback_target_map_t, 22) /* target map */ \
|
||||
\
|
||||
@@ -154,7 +164,12 @@
|
||||
\
|
||||
macro (ompt_callback_reduction, ompt_callback_sync_region_t, 31) /* reduction */ \
|
||||
\
|
||||
macro (ompt_callback_dispatch, ompt_callback_dispatch_t, 32) /* dispatch of work */
|
||||
macro (ompt_callback_dispatch, ompt_callback_dispatch_t, 32) /* dispatch of work */ \
|
||||
macro (ompt_callback_target_emi, ompt_callback_target_emi_t, 33) /* target */ \
|
||||
macro (ompt_callback_target_data_op_emi,ompt_callback_target_data_op_emi_t,34) /* target data op */ \
|
||||
macro (ompt_callback_target_submit_emi, ompt_callback_target_submit_emi_t, 35) /* target submit */ \
|
||||
macro (ompt_callback_target_map_emi, ompt_callback_target_map_emi_t, 36) /* target map */ \
|
||||
macro (ompt_callback_error, ompt_callback_error_t, 37) /* error */
|
||||
|
||||
/*****************************************************************************
|
||||
* implementation specific types
|
||||
@@ -191,7 +206,8 @@ typedef enum ompt_callbacks_t {
|
||||
ompt_callback_dependences = 18,
|
||||
ompt_callback_task_dependence = 19,
|
||||
ompt_callback_work = 20,
|
||||
ompt_callback_master = 21,
|
||||
ompt_callback_master DEPRECATED_51 = 21,
|
||||
ompt_callback_masked = 21,
|
||||
ompt_callback_target_map = 22,
|
||||
ompt_callback_sync_region = 23,
|
||||
ompt_callback_lock_init = 24,
|
||||
@@ -202,7 +218,12 @@ typedef enum ompt_callbacks_t {
|
||||
ompt_callback_flush = 29,
|
||||
ompt_callback_cancel = 30,
|
||||
ompt_callback_reduction = 31,
|
||||
ompt_callback_dispatch = 32
|
||||
ompt_callback_dispatch = 32,
|
||||
ompt_callback_target_emi = 33,
|
||||
ompt_callback_target_data_op_emi = 34,
|
||||
ompt_callback_target_submit_emi = 35,
|
||||
ompt_callback_target_map_emi = 36,
|
||||
ompt_callback_error = 37
|
||||
} ompt_callbacks_t;
|
||||
|
||||
typedef enum ompt_record_t {
|
||||
@@ -240,7 +261,8 @@ typedef enum ompt_thread_t {
|
||||
|
||||
typedef enum ompt_scope_endpoint_t {
|
||||
ompt_scope_begin = 1,
|
||||
ompt_scope_end = 2
|
||||
ompt_scope_end = 2,
|
||||
ompt_scope_beginend = 3
|
||||
} ompt_scope_endpoint_t;
|
||||
|
||||
typedef enum ompt_dispatch_t {
|
||||
@@ -249,22 +271,29 @@ typedef enum ompt_dispatch_t {
|
||||
} ompt_dispatch_t;
|
||||
|
||||
typedef enum ompt_sync_region_t {
|
||||
ompt_sync_region_barrier = 1,
|
||||
ompt_sync_region_barrier_implicit = 2,
|
||||
ompt_sync_region_barrier DEPRECATED_51 = 1,
|
||||
ompt_sync_region_barrier_implicit DEPRECATED_51 = 2,
|
||||
ompt_sync_region_barrier_explicit = 3,
|
||||
ompt_sync_region_barrier_implementation = 4,
|
||||
ompt_sync_region_taskwait = 5,
|
||||
ompt_sync_region_taskgroup = 6,
|
||||
ompt_sync_region_reduction = 7
|
||||
ompt_sync_region_reduction = 7,
|
||||
ompt_sync_region_barrier_implicit_workshare = 8,
|
||||
ompt_sync_region_barrier_implicit_parallel = 9,
|
||||
ompt_sync_region_barrier_teams = 10
|
||||
} ompt_sync_region_t;
|
||||
|
||||
typedef enum ompt_target_data_op_t {
|
||||
ompt_target_data_alloc = 1,
|
||||
ompt_target_data_transfer_to_device = 2,
|
||||
ompt_target_data_transfer_from_device = 3,
|
||||
ompt_target_data_delete = 4,
|
||||
ompt_target_data_associate = 5,
|
||||
ompt_target_data_disassociate = 6
|
||||
ompt_target_data_alloc = 1,
|
||||
ompt_target_data_transfer_to_device = 2,
|
||||
ompt_target_data_transfer_from_device = 3,
|
||||
ompt_target_data_delete = 4,
|
||||
ompt_target_data_associate = 5,
|
||||
ompt_target_data_disassociate = 6,
|
||||
ompt_target_data_alloc_async = 17,
|
||||
ompt_target_data_transfer_to_device_async = 18,
|
||||
ompt_target_data_transfer_from_device_async = 19,
|
||||
ompt_target_data_delete_async = 20
|
||||
} ompt_target_data_op_t;
|
||||
|
||||
typedef enum ompt_work_t {
|
||||
@@ -274,7 +303,8 @@ typedef enum ompt_work_t {
|
||||
ompt_work_single_other = 4,
|
||||
ompt_work_workshare = 5,
|
||||
ompt_work_distribute = 6,
|
||||
ompt_work_taskloop = 7
|
||||
ompt_work_taskloop = 7,
|
||||
ompt_work_scope = 8
|
||||
} ompt_work_t;
|
||||
|
||||
typedef enum ompt_mutex_t {
|
||||
@@ -303,6 +333,7 @@ typedef enum ompt_task_flag_t {
|
||||
ompt_task_implicit = 0x00000002,
|
||||
ompt_task_explicit = 0x00000004,
|
||||
ompt_task_target = 0x00000008,
|
||||
ompt_task_taskwait = 0x00000010,
|
||||
ompt_task_undeferred = 0x08000000,
|
||||
ompt_task_untied = 0x10000000,
|
||||
ompt_task_final = 0x20000000,
|
||||
@@ -317,14 +348,19 @@ typedef enum ompt_task_status_t {
|
||||
ompt_task_detach = 4,
|
||||
ompt_task_early_fulfill = 5,
|
||||
ompt_task_late_fulfill = 6,
|
||||
ompt_task_switch = 7
|
||||
ompt_task_switch = 7,
|
||||
ompt_taskwait_complete = 8
|
||||
} ompt_task_status_t;
|
||||
|
||||
typedef enum ompt_target_t {
|
||||
ompt_target = 1,
|
||||
ompt_target_enter_data = 2,
|
||||
ompt_target_exit_data = 3,
|
||||
ompt_target_update = 4
|
||||
ompt_target_update = 4,
|
||||
ompt_target_nowait = 9,
|
||||
ompt_target_enter_data_nowait = 10,
|
||||
ompt_target_exit_data_nowait = 11,
|
||||
ompt_target_update_nowait = 12
|
||||
} ompt_target_t;
|
||||
|
||||
typedef enum ompt_parallel_flag_t {
|
||||
@@ -349,9 +385,15 @@ typedef enum ompt_dependence_type_t {
|
||||
ompt_dependence_type_inout = 3,
|
||||
ompt_dependence_type_mutexinoutset = 4,
|
||||
ompt_dependence_type_source = 5,
|
||||
ompt_dependence_type_sink = 6
|
||||
ompt_dependence_type_sink = 6,
|
||||
ompt_dependence_type_inoutset = 7
|
||||
} ompt_dependence_type_t;
|
||||
|
||||
typedef enum ompt_severity_t {
|
||||
ompt_warning = 1,
|
||||
ompt_fatal = 2
|
||||
} ompt_severity_t;
|
||||
|
||||
typedef enum ompt_cancel_flag_t {
|
||||
ompt_cancel_parallel = 0x01,
|
||||
ompt_cancel_sections = 0x02,
|
||||
@@ -379,11 +421,13 @@ typedef enum ompt_state_t {
|
||||
ompt_state_work_parallel = 0x001,
|
||||
ompt_state_work_reduction = 0x002,
|
||||
|
||||
ompt_state_wait_barrier = 0x010,
|
||||
ompt_state_wait_barrier DEPRECATED_51 = 0x010,
|
||||
ompt_state_wait_barrier_implicit_parallel = 0x011,
|
||||
ompt_state_wait_barrier_implicit_workshare = 0x012,
|
||||
ompt_state_wait_barrier_implicit = 0x013,
|
||||
ompt_state_wait_barrier_implicit DEPRECATED_51 = 0x013,
|
||||
ompt_state_wait_barrier_explicit = 0x014,
|
||||
ompt_state_wait_barrier_implementation = 0x015,
|
||||
ompt_state_wait_barrier_teams = 0x016,
|
||||
|
||||
ompt_state_wait_taskwait = 0x020,
|
||||
ompt_state_wait_taskgroup = 0x021,
|
||||
@@ -800,19 +844,21 @@ typedef struct ompt_record_implicit_task_t {
|
||||
int flags;
|
||||
} ompt_record_implicit_task_t;
|
||||
|
||||
typedef void (*ompt_callback_master_t) (
|
||||
typedef void (*ompt_callback_masked_t) (
|
||||
ompt_scope_endpoint_t endpoint,
|
||||
ompt_data_t *parallel_data,
|
||||
ompt_data_t *task_data,
|
||||
const void *codeptr_ra
|
||||
);
|
||||
|
||||
typedef struct ompt_record_master_t {
|
||||
typedef ompt_callback_masked_t ompt_callback_master_t DEPRECATED_51;
|
||||
|
||||
typedef struct ompt_record_masked_t {
|
||||
ompt_scope_endpoint_t endpoint;
|
||||
ompt_id_t parallel_id;
|
||||
ompt_id_t task_id;
|
||||
const void *codeptr_ra;
|
||||
} ompt_record_master_t;
|
||||
} ompt_record_masked_t;
|
||||
|
||||
typedef void (*ompt_callback_sync_region_t) (
|
||||
ompt_sync_region_t kind,
|
||||
@@ -919,6 +965,20 @@ typedef void (*ompt_callback_device_unload_t) (
|
||||
uint64_t module_id
|
||||
);
|
||||
|
||||
typedef void (*ompt_callback_target_data_op_emi_t) (
|
||||
ompt_scope_endpoint_t endpoint,
|
||||
ompt_data_t *target_task_data,
|
||||
ompt_data_t *target_data,
|
||||
ompt_id_t *host_op_id,
|
||||
ompt_target_data_op_t optype,
|
||||
void *src_addr,
|
||||
int src_device_num,
|
||||
void *dest_addr,
|
||||
int dest_device_num,
|
||||
size_t bytes,
|
||||
const void *codeptr_ra
|
||||
);
|
||||
|
||||
typedef void (*ompt_callback_target_data_op_t) (
|
||||
ompt_id_t target_id,
|
||||
ompt_id_t host_op_id,
|
||||
@@ -943,6 +1003,16 @@ typedef struct ompt_record_target_data_op_t {
|
||||
const void *codeptr_ra;
|
||||
} ompt_record_target_data_op_t;
|
||||
|
||||
typedef void (*ompt_callback_target_emi_t) (
|
||||
ompt_target_t kind,
|
||||
ompt_scope_endpoint_t endpoint,
|
||||
int device_num,
|
||||
ompt_data_t *task_data,
|
||||
ompt_data_t *target_task_data,
|
||||
ompt_data_t *target_data,
|
||||
const void *codeptr_ra
|
||||
);
|
||||
|
||||
typedef void (*ompt_callback_target_t) (
|
||||
ompt_target_t kind,
|
||||
ompt_scope_endpoint_t endpoint,
|
||||
@@ -961,6 +1031,16 @@ typedef struct ompt_record_target_t {
|
||||
const void *codeptr_ra;
|
||||
} ompt_record_target_t;
|
||||
|
||||
typedef void (*ompt_callback_target_map_emi_t) (
|
||||
ompt_data_t *target_data,
|
||||
unsigned int nitems,
|
||||
void **host_addr,
|
||||
void **device_addr,
|
||||
size_t *bytes,
|
||||
unsigned int *mapping_flags,
|
||||
const void *codeptr_ra
|
||||
);
|
||||
|
||||
typedef void (*ompt_callback_target_map_t) (
|
||||
ompt_id_t target_id,
|
||||
unsigned int nitems,
|
||||
@@ -981,6 +1061,13 @@ typedef struct ompt_record_target_map_t {
|
||||
const void *codeptr_ra;
|
||||
} ompt_record_target_map_t;
|
||||
|
||||
typedef void (*ompt_callback_target_submit_emi_t) (
|
||||
ompt_scope_endpoint_t endpoint,
|
||||
ompt_data_t *target_data,
|
||||
ompt_id_t *host_op_id,
|
||||
unsigned int requested_num_teams
|
||||
);
|
||||
|
||||
typedef void (*ompt_callback_target_submit_t) (
|
||||
ompt_id_t target_id,
|
||||
ompt_id_t host_op_id,
|
||||
@@ -1007,6 +1094,12 @@ typedef struct ompt_record_control_tool_t {
|
||||
const void *codeptr_ra;
|
||||
} ompt_record_control_tool_t;
|
||||
|
||||
typedef void (*ompt_callback_error_t) (
|
||||
ompt_severity_t severity,
|
||||
const char *message, size_t length,
|
||||
const void *codeptr_ra
|
||||
);
|
||||
|
||||
typedef struct ompd_address_t {
|
||||
ompd_seg_t segment;
|
||||
ompd_addr_t address;
|
||||
@@ -1050,7 +1143,7 @@ typedef struct ompt_record_ompt_t {
|
||||
ompt_record_task_dependence_t task_dependence;
|
||||
ompt_record_task_schedule_t task_schedule;
|
||||
ompt_record_implicit_task_t implicit_task;
|
||||
ompt_record_master_t master;
|
||||
ompt_record_masked_t masked;
|
||||
ompt_record_sync_region_t sync_region;
|
||||
ompt_record_mutex_acquire_t mutex_acquire;
|
||||
ompt_record_mutex_t mutex;
|
||||
|
||||
+117
-27
@@ -153,6 +153,85 @@
|
||||
extern int __KAI_KMPC_CONVENTION omp_get_device_num (void);
|
||||
typedef void * omp_depend_t;
|
||||
|
||||
/* OpenMP 5.1 interop */
|
||||
typedef intptr_t omp_intptr_t;
|
||||
|
||||
/* 0..omp_get_num_interop_properties()-1 are reserved for implementation-defined properties */
|
||||
typedef enum omp_interop_property {
|
||||
omp_ipr_fr_id = -1,
|
||||
omp_ipr_fr_name = -2,
|
||||
omp_ipr_vendor = -3,
|
||||
omp_ipr_vendor_name = -4,
|
||||
omp_ipr_device_num = -5,
|
||||
omp_ipr_platform = -6,
|
||||
omp_ipr_device = -7,
|
||||
omp_ipr_device_context = -8,
|
||||
omp_ipr_targetsync = -9,
|
||||
omp_ipr_first = -9
|
||||
} omp_interop_property_t;
|
||||
|
||||
#define omp_interop_none 0
|
||||
|
||||
typedef enum omp_interop_rc {
|
||||
omp_irc_no_value = 1,
|
||||
omp_irc_success = 0,
|
||||
omp_irc_empty = -1,
|
||||
omp_irc_out_of_range = -2,
|
||||
omp_irc_type_int = -3,
|
||||
omp_irc_type_ptr = -4,
|
||||
omp_irc_type_str = -5,
|
||||
omp_irc_other = -6
|
||||
} omp_interop_rc_t;
|
||||
|
||||
typedef void * omp_interop_t;
|
||||
|
||||
/*!
|
||||
* The `omp_get_num_interop_properties` routine retrieves the number of implementation-defined properties available for an `omp_interop_t` object.
|
||||
*/
|
||||
extern int __KAI_KMPC_CONVENTION omp_get_num_interop_properties(const omp_interop_t);
|
||||
/*!
|
||||
* The `omp_get_interop_int` routine retrieves an integer property from an `omp_interop_t` object.
|
||||
*/
|
||||
extern omp_intptr_t __KAI_KMPC_CONVENTION omp_get_interop_int(const omp_interop_t, omp_interop_property_t, int *);
|
||||
/*!
|
||||
* The `omp_get_interop_ptr` routine retrieves a pointer property from an `omp_interop_t` object.
|
||||
*/
|
||||
extern void * __KAI_KMPC_CONVENTION omp_get_interop_ptr(const omp_interop_t, omp_interop_property_t, int *);
|
||||
/*!
|
||||
* The `omp_get_interop_str` routine retrieves a string property from an `omp_interop_t` object.
|
||||
*/
|
||||
extern const char * __KAI_KMPC_CONVENTION omp_get_interop_str(const omp_interop_t, omp_interop_property_t, int *);
|
||||
/*!
|
||||
* The `omp_get_interop_name` routine retrieves a property name from an `omp_interop_t` object.
|
||||
*/
|
||||
extern const char * __KAI_KMPC_CONVENTION omp_get_interop_name(const omp_interop_t, omp_interop_property_t);
|
||||
/*!
|
||||
* The `omp_get_interop_type_desc` routine retrieves a description of the type of a property associated with an `omp_interop_t` object.
|
||||
*/
|
||||
extern const char * __KAI_KMPC_CONVENTION omp_get_interop_type_desc(const omp_interop_t, omp_interop_property_t);
|
||||
/*!
|
||||
* 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);
|
||||
|
||||
/* OpenMP 5.1 device memory routines */
|
||||
|
||||
/*!
|
||||
* The `omp_target_memcpy_async` routine asynchronously performs a copy between any combination of host and device pointers.
|
||||
*/
|
||||
extern int __KAI_KMPC_CONVENTION omp_target_memcpy_async(void *, const void *, size_t, size_t, size_t, int,
|
||||
int, int, omp_depend_t *);
|
||||
/*!
|
||||
* The `omp_target_memcpy_rect_async` routine asynchronously performs a copy between any combination of host and device pointers.
|
||||
*/
|
||||
extern int __KAI_KMPC_CONVENTION omp_target_memcpy_rect_async(void *, const void *, size_t, int, const size_t *,
|
||||
const size_t *, const size_t *, const size_t *, const size_t *, int, int,
|
||||
int, omp_depend_t *);
|
||||
/*!
|
||||
* The `omp_get_mapped_ptr` routine returns the device pointer that is associated with a host pointer for a given device.
|
||||
*/
|
||||
extern void * __KAI_KMPC_CONVENTION omp_get_mapped_ptr(const void *, int);
|
||||
|
||||
/* kmp API functions */
|
||||
extern int __KAI_KMPC_CONVENTION kmp_get_stacksize (void);
|
||||
extern void __KAI_KMPC_CONVENTION kmp_set_stacksize (int);
|
||||
@@ -229,37 +308,38 @@
|
||||
typedef uintptr_t omp_uintptr_t;
|
||||
|
||||
typedef enum {
|
||||
OMP_ATK_THREADMODEL = 1,
|
||||
OMP_ATK_ALIGNMENT = 2,
|
||||
OMP_ATK_ACCESS = 3,
|
||||
OMP_ATK_POOL_SIZE = 4,
|
||||
OMP_ATK_FALLBACK = 5,
|
||||
OMP_ATK_FB_DATA = 6,
|
||||
OMP_ATK_PINNED = 7,
|
||||
OMP_ATK_PARTITION = 8
|
||||
omp_atk_sync_hint = 1,
|
||||
omp_atk_alignment = 2,
|
||||
omp_atk_access = 3,
|
||||
omp_atk_pool_size = 4,
|
||||
omp_atk_fallback = 5,
|
||||
omp_atk_fb_data = 6,
|
||||
omp_atk_pinned = 7,
|
||||
omp_atk_partition = 8
|
||||
} omp_alloctrait_key_t;
|
||||
|
||||
typedef enum {
|
||||
OMP_ATV_FALSE = 0,
|
||||
OMP_ATV_TRUE = 1,
|
||||
OMP_ATV_DEFAULT = 2,
|
||||
OMP_ATV_CONTENDED = 3,
|
||||
OMP_ATV_UNCONTENDED = 4,
|
||||
OMP_ATV_SEQUENTIAL = 5,
|
||||
OMP_ATV_PRIVATE = 6,
|
||||
OMP_ATV_ALL = 7,
|
||||
OMP_ATV_THREAD = 8,
|
||||
OMP_ATV_PTEAM = 9,
|
||||
OMP_ATV_CGROUP = 10,
|
||||
OMP_ATV_DEFAULT_MEM_FB = 11,
|
||||
OMP_ATV_NULL_FB = 12,
|
||||
OMP_ATV_ABORT_FB = 13,
|
||||
OMP_ATV_ALLOCATOR_FB = 14,
|
||||
OMP_ATV_ENVIRONMENT = 15,
|
||||
OMP_ATV_NEAREST = 16,
|
||||
OMP_ATV_BLOCKED = 17,
|
||||
OMP_ATV_INTERLEAVED = 18
|
||||
omp_atv_false = 0,
|
||||
omp_atv_true = 1,
|
||||
omp_atv_contended = 3,
|
||||
omp_atv_uncontended = 4,
|
||||
omp_atv_serialized = 5,
|
||||
omp_atv_sequential = omp_atv_serialized, // (deprecated)
|
||||
omp_atv_private = 6,
|
||||
omp_atv_all = 7,
|
||||
omp_atv_thread = 8,
|
||||
omp_atv_pteam = 9,
|
||||
omp_atv_cgroup = 10,
|
||||
omp_atv_default_mem_fb = 11,
|
||||
omp_atv_null_fb = 12,
|
||||
omp_atv_abort_fb = 13,
|
||||
omp_atv_allocator_fb = 14,
|
||||
omp_atv_environment = 15,
|
||||
omp_atv_nearest = 16,
|
||||
omp_atv_blocked = 17,
|
||||
omp_atv_interleaved = 18
|
||||
} omp_alloctrait_value_t;
|
||||
#define omp_atv_default ((omp_uintptr_t)-1)
|
||||
|
||||
typedef struct {
|
||||
omp_alloctrait_key_t key;
|
||||
@@ -324,9 +404,16 @@
|
||||
extern omp_allocator_handle_t __KAI_KMPC_CONVENTION omp_get_default_allocator(void);
|
||||
# ifdef __cplusplus
|
||||
extern void *__KAI_KMPC_CONVENTION omp_alloc(size_t size, omp_allocator_handle_t a = omp_null_allocator);
|
||||
extern void *__KAI_KMPC_CONVENTION omp_calloc(size_t nmemb, size_t size, omp_allocator_handle_t a = omp_null_allocator);
|
||||
extern void *__KAI_KMPC_CONVENTION omp_realloc(void *ptr, size_t size,
|
||||
omp_allocator_handle_t allocator = omp_null_allocator,
|
||||
omp_allocator_handle_t free_allocator = omp_null_allocator);
|
||||
extern void __KAI_KMPC_CONVENTION omp_free(void * ptr, omp_allocator_handle_t a = omp_null_allocator);
|
||||
# else
|
||||
extern void *__KAI_KMPC_CONVENTION omp_alloc(size_t size, omp_allocator_handle_t a);
|
||||
extern void *__KAI_KMPC_CONVENTION omp_calloc(size_t nmemb, size_t size, omp_allocator_handle_t a);
|
||||
extern void *__KAI_KMPC_CONVENTION omp_realloc(void *ptr, size_t size, omp_allocator_handle_t allocator,
|
||||
omp_allocator_handle_t free_allocator);
|
||||
extern void __KAI_KMPC_CONVENTION omp_free(void *ptr, omp_allocator_handle_t a);
|
||||
# endif
|
||||
|
||||
@@ -356,6 +443,9 @@
|
||||
|
||||
extern int __KAI_KMPC_CONVENTION omp_get_supported_active_levels(void);
|
||||
|
||||
/* OpenMP 5.1 Display Environment */
|
||||
extern void omp_display_env(int verbose);
|
||||
|
||||
# undef __KAI_KMPC_CONVENTION
|
||||
# undef __KMP_IMP
|
||||
|
||||
|
||||
Reference in New Issue
Block a user