27 prt_assert(thread != NULL,
"malloc failed");
32 thread->agent_rank = agent_rank;
37 prt_assert(thread->vdps != NULL,
"icl_list_new failed");
53 prt_assert(size == 0,
"destroying non-empty list");
55 prt_assert(status == 0,
"icl_list_destroy failed");
79 int trace_rank = thread->vsa->proxy == NULL ? thread->rank : thread->rank+1;
82 if (thread->vsa->thread_warmup_func != NULL)
83 thread->vsa->thread_warmup_func();
87 pthread_barrier_wait(&thread->vsa->barrier);
98 if (thread->vsa->config->vdp_scheduling
99 == PRT_VDP_SCHEDULING_AGGRESSIVE) {
109 else if (thread->vsa->config->vdp_scheduling
110 == PRT_VDP_SCHEDULING_LAZY) {
123 if (vdp->counter == 0)
128 while (node != NULL);
132 thread->finished = 1;
136 pthread_barrier_wait(&thread->vsa->barrier);
142 thread->time = stop-start;