work 18 ompi/mca/topo/treematch/treematch/tm_thread_pool.c static void execute_work(work_t *work); work 21 ompi/mca/topo/treematch/treematch/tm_thread_pool.c static void add_work(pthread_mutex_t *list_lock, pthread_cond_t *cond_var, work_t *working_list, work_t *work); work 36 ompi/mca/topo/treematch/treematch/tm_thread_pool.c void execute_work(work_t *work){ work 37 ompi/mca/topo/treematch/treematch/tm_thread_pool.c work->task(work->nb_args, work->args, work->thread_id); work 113 ompi/mca/topo/treematch/treematch/tm_thread_pool.c work_t *work; work 126 ompi/mca/topo/treematch/treematch/tm_thread_pool.c work = start_working_list->next; work 127 ompi/mca/topo/treematch/treematch/tm_thread_pool.c start_working_list->next = work-> next; work 130 ompi/mca/topo/treematch/treematch/tm_thread_pool.c if(!work->task){ work 135 ompi/mca/topo/treematch/treematch/tm_thread_pool.c execute_work(work); work 136 ompi/mca/topo/treematch/treematch/tm_thread_pool.c pthread_mutex_lock(&work->mutex); work 137 ompi/mca/topo/treematch/treematch/tm_thread_pool.c work->done=1; work 138 ompi/mca/topo/treematch/treematch/tm_thread_pool.c pthread_mutex_unlock(&work->mutex); work 139 ompi/mca/topo/treematch/treematch/tm_thread_pool.c pthread_cond_signal(&work->work_done); work 144 ompi/mca/topo/treematch/treematch/tm_thread_pool.c void add_work(pthread_mutex_t *list_lock, pthread_cond_t *cond_var, work_t *working_list, work_t *work){ work 151 ompi/mca/topo/treematch/treematch/tm_thread_pool.c elem->next=work; work 152 ompi/mca/topo/treematch/treematch/tm_thread_pool.c work -> next = NULL; work 153 ompi/mca/topo/treematch/treematch/tm_thread_pool.c work -> done = 0; work 159 ompi/mca/topo/treematch/treematch/tm_thread_pool.c void wait_work_completion(work_t *work){ work 160 ompi/mca/topo/treematch/treematch/tm_thread_pool.c pthread_mutex_lock(&work->mutex); work 161 ompi/mca/topo/treematch/treematch/tm_thread_pool.c while(!work->done) work 162 ompi/mca/topo/treematch/treematch/tm_thread_pool.c pthread_cond_wait(&work->work_done, &work->mutex); work 167 ompi/mca/topo/treematch/treematch/tm_thread_pool.c int submit_work(work_t *work, int thread_id){ work 169 ompi/mca/topo/treematch/treematch/tm_thread_pool.c work->thread_id = thread_id; work 170 ompi/mca/topo/treematch/treematch/tm_thread_pool.c add_work(&pool->list_lock[thread_id], &pool->cond_var[thread_id], &pool->working_list[thread_id], work); work 247 ompi/mca/topo/treematch/treematch/tm_thread_pool.c work_t work; work 250 ompi/mca/topo/treematch/treematch/tm_thread_pool.c work.task=NULL; work 252 ompi/mca/topo/treematch/treematch/tm_thread_pool.c submit_work(&work,id); work 287 ompi/mca/topo/treematch/treematch/tm_thread_pool.c work_t *work; work 288 ompi/mca/topo/treematch/treematch/tm_thread_pool.c work = MALLOC(sizeof(work_t)); work 289 ompi/mca/topo/treematch/treematch/tm_thread_pool.c work -> nb_args = nb_args; work 290 ompi/mca/topo/treematch/treematch/tm_thread_pool.c work -> args = args; work 291 ompi/mca/topo/treematch/treematch/tm_thread_pool.c work -> task = task; work 292 ompi/mca/topo/treematch/treematch/tm_thread_pool.c work -> done = 0; work 293 ompi/mca/topo/treematch/treematch/tm_thread_pool.c pthread_cond_init (&work->work_done, NULL); work 294 ompi/mca/topo/treematch/treematch/tm_thread_pool.c pthread_mutex_init(&work->mutex, NULL); work 296 ompi/mca/topo/treematch/treematch/tm_thread_pool.c printf("work %p created\n",(void *)work); work 297 ompi/mca/topo/treematch/treematch/tm_thread_pool.c return work; work 301 ompi/mca/topo/treematch/treematch/tm_thread_pool.c void destroy_work(work_t *work){ work 302 ompi/mca/topo/treematch/treematch/tm_thread_pool.c pthread_cond_destroy(&work->work_done); work 303 ompi/mca/topo/treematch/treematch/tm_thread_pool.c pthread_mutex_destroy(&work->mutex); work 304 ompi/mca/topo/treematch/treematch/tm_thread_pool.c FREE(work); work 39 ompi/mca/topo/treematch/treematch/tm_thread_pool.h int submit_work(work_t *work, int thread_id); work 40 ompi/mca/topo/treematch/treematch/tm_thread_pool.h void wait_work_completion(work_t *work); work 44 ompi/mca/topo/treematch/treematch/tm_thread_pool.h void destroy_work(work_t *work); work 938 ompi/mca/topo/treematch/treematch/tm_tree.c work_unit_t *work = (work_unit_t *) args[7]; work 942 ompi/mca/topo/treematch/treematch/tm_tree.c int total_work = work->nb_work; work 963 ompi/mca/topo/treematch/treematch/tm_tree.c while(work->tab_group){ work 965 ompi/mca/topo/treematch/treematch/tm_tree.c if(!work->done){ work 966 ompi/mca/topo/treematch/treematch/tm_tree.c work->done = 1; work 970 ompi/mca/topo/treematch/treematch/tm_tree.c work=work->next; work 982 ompi/mca/topo/treematch/treematch/tm_tree.c for(i=0;i<work->nb_groups;i++){ work 983 ompi/mca/topo/treematch/treematch/tm_tree.c id1 = work->tab_group[i]; work 984 ompi/mca/topo/treematch/treematch/tm_tree.c for(j=i+1;j<work->nb_groups;j++){ work 985 ompi/mca/topo/treematch/treematch/tm_tree.c id2 = work->tab_group[j]; work 994 ompi/mca/topo/treematch/treematch/tm_tree.c for(i=0;i<work->nb_groups;i++){ work 995 ompi/mca/topo/treematch/treematch/tm_tree.c id = work->tab_group[i]; work 999 ompi/mca/topo/treematch/treematch/tm_tree.c thread_derecurs_exhaustive_search(tab_group, id+1, n, arity, work->nb_groups, solution_size, val, best_val, selection, best_selection, indep_mat, lock, thread_id, tab_i, work->nb_groups); work 1001 ompi/mca/topo/treematch/treematch/tm_tree.c work=work->next;