ROSE  0.11.96.11
rex_kmp.h
1 #include <stdint.h>
2 #include <stddef.h>
3 
4 typedef struct ident {
5  int reserved_1;
6  int flags;
7  int reserved_2;
8  int reserved_3;
9  char const *psource;
10 } ident_t;
11 
12 void __kmpc_fork_call(ident_t*, int, void*, ...);
13 void __kmpc_atomic_start(void);
14 void __kmpc_atomic_end(void);
15 void __kmpc_push_num_threads(ident_t*, int, int);
16 int __kmpc_global_thread_num(ident_t*);
17 int __kmpc_single(ident_t*, int);
18 void __kmpc_end_single(ident_t*, int);
19 void __kmpc_barrier(ident_t*, int);
20 int __kmpc_serialized_parallel(ident_t*, int);
21 void __kmpc_end_serialized_parallel(ident_t*, int);
22 void __kmpc_for_static_init_4(ident_t*, int, int, int*, int*, int*, int*, int, int);
23 void __kmpc_for_static_fini(ident_t*, int);
24 void __kmpc_dispatch_init_4(ident_t*, int, int, int, int, int, int);
25 int __kmpc_dispatch_next_4(ident_t*, int, int*, int*, int*, int*);
26 
28  void *addr; // Pointer to the offload entry info (function or global)
29  char *name; // Name of the function or global
30  size_t size; // Size of the entry info (0 if it is a function)
31  int32_t flags; // Flags associated with the entry, e.g. 'link'.
32  int32_t reserved; // Reserved, to be used by the runtime library.
33 };
34 
35 int __tgt_target_teams(int64_t device_id, void *host_ptr, int32_t arg_num,
36  void **args_base, void **args, int64_t *arg_sizes,
37  int64_t *arg_types, int32_t num_teams,
38  int32_t thread_limit);
39 
41  void *ImageStart; // Pointer to the target code start
42  void *ImageEnd; // Pointer to the target code end
43  struct __tgt_offload_entry *EntriesBegin; // Begin of table with all target entries
44  struct __tgt_offload_entry *EntriesEnd; // End of table (non inclusive)
45 };
46 
48  int32_t NumDeviceImages; // Number of device types supported
49  struct __tgt_device_image *DeviceImages; // Array of device images (1 per dev. type)
50  struct __tgt_offload_entry *HostEntriesBegin; // Begin of table with all host entries
51  struct __tgt_offload_entry *HostEntriesEnd; // End of table (non inclusive)
52 };
53 
54 void __tgt_unregister_lib(struct __tgt_bin_desc *desc);
55 
56 struct __tgt_bin_desc* register_cubin(char*, void*, void*);
__tgt_offload_entry
Definition: rex_kmp.h:27
ident
Definition: rex_kmp.h:4
__tgt_device_image
Definition: rex_kmp.h:40
__tgt_bin_desc
Definition: rex_kmp.h:47