Home | History | Annotate | Download | only in src
      1 #ifndef OMP_HEADER_DATA_H_
      2 #define OMP_HEADER_DATA_H_
      3 
      4 const char OMP_HEADER_DATA[] = R"__SOURCE__(
      5 /*
      6  * include/50/omp.h.var
      7  */
      8 
      9 
     10 //===----------------------------------------------------------------------===//
     11 //
     12 //                     The LLVM Compiler Infrastructure
     13 //
     14 // This file is dual licensed under the MIT and the University of Illinois Open
     15 // Source Licenses. See LICENSE.txt for details.
     16 //
     17 //===----------------------------------------------------------------------===//
     18 
     19 
     20 #ifndef __OMP_H
     21 #   define __OMP_H
     22 
     23 #   define KMP_VERSION_MAJOR    5
     24 #   define KMP_VERSION_MINOR    0
     25 #   define KMP_VERSION_BUILD    20140926
     26 #   define KMP_BUILD_DATE       "No_Timestamp"
     27 
     28 #   ifdef __cplusplus
     29     extern "C" {
     30 #   endif
     31 
     32 #   if defined(_WIN32)
     33 #       define __KAI_KMPC_CONVENTION __cdecl
     34 #   else
     35 #       define __KAI_KMPC_CONVENTION
     36 #   endif
     37 
     38     /* schedule kind constants */
     39     typedef enum omp_sched_t {
     40 	omp_sched_static  = 1,
     41 	omp_sched_dynamic = 2,
     42 	omp_sched_guided  = 3,
     43 	omp_sched_auto    = 4
     44     } omp_sched_t;
     45 
     46     /* set API functions */
     47     extern void   __KAI_KMPC_CONVENTION  omp_set_num_threads (int);
     48     extern void   __KAI_KMPC_CONVENTION  omp_set_dynamic     (int);
     49     extern void   __KAI_KMPC_CONVENTION  omp_set_nested      (int);
     50     extern void   __KAI_KMPC_CONVENTION  omp_set_max_active_levels (int);
     51     extern void   __KAI_KMPC_CONVENTION  omp_set_schedule          (omp_sched_t, int);
     52 
     53     /* query API functions */
     54     extern int    __KAI_KMPC_CONVENTION  omp_get_num_threads  (void);
     55     extern int    __KAI_KMPC_CONVENTION  omp_get_dynamic      (void);
     56     extern int    __KAI_KMPC_CONVENTION  omp_get_nested       (void);
     57     extern int    __KAI_KMPC_CONVENTION  omp_get_max_threads  (void);
     58     extern int    __KAI_KMPC_CONVENTION  omp_get_thread_num   (void);
     59     extern int    __KAI_KMPC_CONVENTION  omp_get_num_procs    (void);
     60     extern int    __KAI_KMPC_CONVENTION  omp_in_parallel      (void);
     61     extern int    __KAI_KMPC_CONVENTION  omp_in_final         (void);
     62     extern int    __KAI_KMPC_CONVENTION  omp_get_active_level        (void);
     63     extern int    __KAI_KMPC_CONVENTION  omp_get_level               (void);
     64     extern int    __KAI_KMPC_CONVENTION  omp_get_ancestor_thread_num (int);
     65     extern int    __KAI_KMPC_CONVENTION  omp_get_team_size           (int);
     66     extern int    __KAI_KMPC_CONVENTION  omp_get_thread_limit        (void);
     67     extern int    __KAI_KMPC_CONVENTION  omp_get_max_active_levels   (void);
     68     extern void   __KAI_KMPC_CONVENTION  omp_get_schedule            (omp_sched_t *, int *);
     69     extern int    __KAI_KMPC_CONVENTION  omp_get_max_task_priority   (void);
     70 
     71     /* lock API functions */
     72     typedef struct omp_lock_t {
     73         void * _lk;
     74     } omp_lock_t;
     75 
     76     extern void   __KAI_KMPC_CONVENTION  omp_init_lock    (omp_lock_t *);
     77     extern void   __KAI_KMPC_CONVENTION  omp_set_lock     (omp_lock_t *);
     78     extern void   __KAI_KMPC_CONVENTION  omp_unset_lock   (omp_lock_t *);
     79     extern void   __KAI_KMPC_CONVENTION  omp_destroy_lock (omp_lock_t *);
     80     extern int    __KAI_KMPC_CONVENTION  omp_test_lock    (omp_lock_t *);
     81 
     82     /* nested lock API functions */
     83     typedef struct omp_nest_lock_t {
     84         void * _lk;
     85     } omp_nest_lock_t;
     86 
     87     extern void   __KAI_KMPC_CONVENTION  omp_init_nest_lock    (omp_nest_lock_t *);
     88     extern void   __KAI_KMPC_CONVENTION  omp_set_nest_lock     (omp_nest_lock_t *);
     89     extern void   __KAI_KMPC_CONVENTION  omp_unset_nest_lock   (omp_nest_lock_t *);
     90     extern void   __KAI_KMPC_CONVENTION  omp_destroy_nest_lock (omp_nest_lock_t *);
     91     extern int    __KAI_KMPC_CONVENTION  omp_test_nest_lock    (omp_nest_lock_t *);
     92 
     93     /* lock hint type for dynamic user lock */
     94     typedef enum omp_lock_hint_t {
     95         omp_lock_hint_none           = 0,
     96         omp_lock_hint_uncontended    = 1,
     97         omp_lock_hint_contended      = (1<<1 ),
     98         omp_lock_hint_nonspeculative = (1<<2 ),
     99         omp_lock_hint_speculative    = (1<<3 ),
    100         kmp_lock_hint_hle            = (1<<16),
    101         kmp_lock_hint_rtm            = (1<<17),
    102         kmp_lock_hint_adaptive       = (1<<18)
    103     } omp_lock_hint_t;
    104 
    105     /* hinted lock initializers */
    106     extern void __KAI_KMPC_CONVENTION omp_init_lock_with_hint(omp_lock_t *, omp_lock_hint_t);
    107     extern void __KAI_KMPC_CONVENTION omp_init_nest_lock_with_hint(omp_nest_lock_t *, omp_lock_hint_t);
    108 
    109     /* time API functions */
    110     extern double __KAI_KMPC_CONVENTION  omp_get_wtime (void);
    111     extern double __KAI_KMPC_CONVENTION  omp_get_wtick (void);
    112 
    113     /* OpenMP 4.0 */
    114     extern int  __KAI_KMPC_CONVENTION  omp_get_default_device (void);
    115     extern void __KAI_KMPC_CONVENTION  omp_set_default_device (int);
    116     extern int  __KAI_KMPC_CONVENTION  omp_is_initial_device (void);
    117     extern int  __KAI_KMPC_CONVENTION  omp_get_num_devices (void);
    118     extern int  __KAI_KMPC_CONVENTION  omp_get_num_teams (void);
    119     extern int  __KAI_KMPC_CONVENTION  omp_get_team_num (void);
    120     extern int  __KAI_KMPC_CONVENTION  omp_get_cancellation (void);
    121 
    122 #   include <stdlib.h>
    123     /* OpenMP 4.5 */
    124     extern int   __KAI_KMPC_CONVENTION  omp_get_initial_device (void);
    125     extern void* __KAI_KMPC_CONVENTION  omp_target_alloc(size_t, int);
    126     extern void  __KAI_KMPC_CONVENTION  omp_target_free(void *, int);
    127     extern int   __KAI_KMPC_CONVENTION  omp_target_is_present(void *, int);
    128     extern int   __KAI_KMPC_CONVENTION  omp_target_memcpy(void *, void *, size_t, size_t, size_t, int, int);
    129     extern int   __KAI_KMPC_CONVENTION  omp_target_memcpy_rect(void *, void *, size_t, int, const size_t *,
    130                                             const size_t *, const size_t *, const size_t *, const size_t *, int, int);
    131     extern int   __KAI_KMPC_CONVENTION  omp_target_associate_ptr(void *, void *, size_t, size_t, int);
    132     extern int   __KAI_KMPC_CONVENTION  omp_target_disassociate_ptr(void *, int);
    133 
    134     /* kmp API functions */
    135     extern int    __KAI_KMPC_CONVENTION  kmp_get_stacksize          (void);
    136     extern void   __KAI_KMPC_CONVENTION  kmp_set_stacksize          (int);
    137     extern size_t __KAI_KMPC_CONVENTION  kmp_get_stacksize_s        (void);
    138     extern void   __KAI_KMPC_CONVENTION  kmp_set_stacksize_s        (size_t);
    139     extern int    __KAI_KMPC_CONVENTION  kmp_get_blocktime          (void);
    140     extern int    __KAI_KMPC_CONVENTION  kmp_get_library            (void);
    141     extern void   __KAI_KMPC_CONVENTION  kmp_set_blocktime          (int);
    142     extern void   __KAI_KMPC_CONVENTION  kmp_set_library            (int);
    143     extern void   __KAI_KMPC_CONVENTION  kmp_set_library_serial     (void);
    144     extern void   __KAI_KMPC_CONVENTION  kmp_set_library_turnaround (void);
    145     extern void   __KAI_KMPC_CONVENTION  kmp_set_library_throughput (void);
    146     extern void   __KAI_KMPC_CONVENTION  kmp_set_defaults           (char const *);
    147     extern void   __KAI_KMPC_CONVENTION  kmp_set_disp_num_buffers   (int);
    148 
    149     /* Intel affinity API */
    150     typedef void * kmp_affinity_mask_t;
    151 
    152     extern int    __KAI_KMPC_CONVENTION  kmp_set_affinity             (kmp_affinity_mask_t *);
    153     extern int    __KAI_KMPC_CONVENTION  kmp_get_affinity             (kmp_affinity_mask_t *);
    154     extern int    __KAI_KMPC_CONVENTION  kmp_get_affinity_max_proc    (void);
    155     extern void   __KAI_KMPC_CONVENTION  kmp_create_affinity_mask     (kmp_affinity_mask_t *);
    156     extern void   __KAI_KMPC_CONVENTION  kmp_destroy_affinity_mask    (kmp_affinity_mask_t *);
    157     extern int    __KAI_KMPC_CONVENTION  kmp_set_affinity_mask_proc   (int, kmp_affinity_mask_t *);
    158     extern int    __KAI_KMPC_CONVENTION  kmp_unset_affinity_mask_proc (int, kmp_affinity_mask_t *);
    159     extern int    __KAI_KMPC_CONVENTION  kmp_get_affinity_mask_proc   (int, kmp_affinity_mask_t *);
    160 
    161     /* OpenMP 4.0 affinity API */
    162     typedef enum omp_proc_bind_t {
    163         omp_proc_bind_false = 0,
    164         omp_proc_bind_true = 1,
    165         omp_proc_bind_master = 2,
    166         omp_proc_bind_close = 3,
    167         omp_proc_bind_spread = 4
    168     } omp_proc_bind_t;
    169 
    170     extern omp_proc_bind_t __KAI_KMPC_CONVENTION omp_get_proc_bind (void);
    171 
    172     /* OpenMP 4.5 affinity API */
    173     extern int  __KAI_KMPC_CONVENTION omp_get_num_places (void);
    174     extern int  __KAI_KMPC_CONVENTION omp_get_place_num_procs (int);
    175     extern void __KAI_KMPC_CONVENTION omp_get_place_proc_ids (int, int *);
    176     extern int  __KAI_KMPC_CONVENTION omp_get_place_num (void);
    177     extern int  __KAI_KMPC_CONVENTION omp_get_partition_num_places (void);
    178     extern void __KAI_KMPC_CONVENTION omp_get_partition_place_nums (int *);
    179 
    180     extern void * __KAI_KMPC_CONVENTION  kmp_malloc  (size_t);
    181     extern void * __KAI_KMPC_CONVENTION  kmp_aligned_malloc  (size_t, size_t);
    182     extern void * __KAI_KMPC_CONVENTION  kmp_calloc  (size_t, size_t);
    183     extern void * __KAI_KMPC_CONVENTION  kmp_realloc (void *, size_t);
    184     extern void   __KAI_KMPC_CONVENTION  kmp_free    (void *);
    185 
    186     extern void   __KAI_KMPC_CONVENTION  kmp_set_warnings_on(void);
    187     extern void   __KAI_KMPC_CONVENTION  kmp_set_warnings_off(void);
    188 
    189     /* OpenMP 5.0 Tool Control */
    190     typedef enum omp_control_tool_result_t {
    191         omp_control_tool_notool = -2,
    192         omp_control_tool_nocallback = -1,
    193         omp_control_tool_success = 0,
    194         omp_control_tool_ignored = 1
    195     } omp_control_tool_result_t;
    196 
    197     typedef enum omp_control_tool_t {
    198         omp_control_tool_start = 1,
    199         omp_control_tool_pause = 2,
    200         omp_control_tool_flush = 3,
    201         omp_control_tool_end = 4
    202     } omp_control_tool_t;
    203 
    204     extern int __KAI_KMPC_CONVENTION omp_control_tool(int, int, void*);
    205 
    206 #   undef __KAI_KMPC_CONVENTION
    207 
    208     /* Warning:
    209        The following typedefs are not standard, deprecated and will be removed in a future release.
    210     */
    211     typedef int     omp_int_t;
    212     typedef double  omp_wtime_t;
    213 
    214 #   ifdef __cplusplus
    215     }
    216 #   endif
    217 
    218 #endif /* __OMP_H */
    219 )__SOURCE__";
    220 
    221 #endif  // OMP_HEADER_DATA_H_
    222