50 auto p = shareds->data;
57 if (hidden_helper_task) {
67int main(
int argc,
char *argv[]) {
70 constexpr const int N = 1024;
71#pragma omp parallel for
72 for (
int i = 0;
i <
N; ++
i) {
73 int32_t data1 = -1, data2 = -1, data3 = -1;
81 auto shareds =
reinterpret_cast<anon *
>(
task1->shareds);
82 shareds->
data = &data1;
85 depinfo1.
base_addr =
reinterpret_cast<intptr_t
>(&depvar);
95 shareds =
reinterpret_cast<anon *
>(
task2->shareds);
96 shareds->
data = &data2;
99 depinfo2.
base_addr =
reinterpret_cast<intptr_t
>(&depvar);
109 shareds =
reinterpret_cast<anon *
>(task3->shareds);
110 shareds->
data = &data3;
113 depinfo3.
base_addr =
reinterpret_cast<intptr_t
>(&depvar);
122 assert_gtid<false>(data1);
123 assert_gtid<true>(data2);
124 assert_gtid<false>(data3);
127 std::cout <<
"PASS\n";
kmp_int32(*)(kmp_int32, void *) kmp_routine_entry_t
static kmp_int32 get_num_hidden_helper_threads()
KMP_EXPORT kmp_int32 __kmpc_omp_task_with_deps(ident_t *loc_ref, kmp_int32 gtid, kmp_task_t *new_task, kmp_int32 ndeps, kmp_depend_info_t *dep_list, kmp_int32 ndeps_noalias, kmp_depend_info_t *noalias_dep_list)
KMP_EXPORT kmp_int32 __kmpc_global_thread_num(ident_t *)
kmp_int32 omp_task_entry(kmp_int32 gtid, kmp_task_t_with_privates *task)
static kmp_int32 __kmp_hidden_helper_threads_num
void const char const char int ITT_FORMAT __itt_group_sync p
KMP_EXPORT kmp_task_t * __kmpc_omp_task_alloc(ident_t *loc_ref, kmp_int32 gtid, kmp_int32 flags, size_t sizeof_kmp_task_t, size_t sizeof_shareds, kmp_routine_entry_t task_entry)
KMP_EXPORT kmp_int32 __kmpc_omp_taskwait(ident_t *loc_ref, kmp_int32 gtid)
KMP_EXPORT kmp_task_t * __kmpc_omp_target_task_alloc(ident_t *loc_ref, kmp_int32 gtid, kmp_int32 flags, size_t sizeof_kmp_task_t, size_t sizeof_shareds, kmp_routine_entry_t task_entry, kmp_int64 device_id)