57 lines · c
1#ifndef KMP_TASK_DEPS_H2#define KMP_TASK_DEPS_H3 4#include <stddef.h> /* size_t */5 6// ---------------------------------------------------------------------------7// internal data to emulate compiler codegen8typedef struct DEP {9 size_t addr;10 size_t len;11 unsigned char flags;12} dep;13 14typedef struct task {15 void **shareds;16 void *entry;17 int part_id;18 void *destr_thunk;19 int priority;20 long long device_id;21 int f_priv;22} kmp_task_t;23typedef int (*entry_t)(int, kmp_task_t *);24typedef struct ID {25 int reserved_1;26 int flags;27 int reserved_2;28 int reserved_3;29 char *psource;30} id;31 32#define TIED 133 34struct kmp_depnode_list;35 36typedef struct kmp_base_depnode {37 struct kmp_depnode_list *successors;38 /* [...] more stuff down here */39} kmp_base_depnode_t;40 41typedef struct kmp_depnode_list {42 struct kmp_base_depnode *node;43 struct kmp_depnode_list *next;44} kmp_depnode_list_t;45 46static id loc = {0, 2, 0, 0, ";file;func;0;0;;"};47kmp_task_t *__kmpc_omp_task_alloc(id *loc, int gtid, int flags, size_t sz,48 size_t shar, entry_t rtn);49int __kmpc_omp_task_with_deps(id *loc, int gtid, kmp_task_t *task, int nd,50 dep *dep_lst, int nd_noalias,51 dep *noalias_dep_lst);52kmp_depnode_list_t *__kmpc_task_get_successors(kmp_task_t *task);53kmp_base_depnode_t *__kmpc_task_get_depnode(kmp_task_t *task);54int __kmpc_global_thread_num(id *);55 56#endif /* KMP_TASK_DEPS_H */57