#include "libgomp.h"
#include <stdlib.h>
#include <string.h>
Include dependency graph for team.c:
Go to the source code of this file.
Data Structures | |
struct | gomp_thread_start_data |
Functions | |
void | ompc_team_start (uint loop_bounds) __attribute__((weak)) |
void | ompc_team_end () |
gomp_team * | gomp_new_team (unsigned nthreads) |
static void | free_team (struct gomp_team *team) |
static struct gomp_thread_pool * | gomp_new_thread_pool (void) |
static void | gomp_free_pool_helper (void *thread_pool) |
static void | gomp_free_thread (void *arg __attribute__((unused))) |
void | gomp_team_start (void(*fn)(void *), void *data, unsigned nthreads, struct gomp_team *team) |
void | gomp_team_end (void) |
static void | __attribute__ ((constructor)) |
static void | __attribute__ ((destructor)) |
gomp_task_icv * | gomp_new_icv (void) |
Variables | |
pthread_attr_t | gomp_thread_attr |
pthread_key_t | gomp_thread_destructor |
pthread_key_t | gomp_tls_key |
static void __attribute__ | ( | (destructor) | ) | [static] |
static void __attribute__ | ( | (constructor) | ) | [static] |
Definition at line 534 of file team.c.
References gomp_fatal(), gomp_free_thread(), gomp_sem_init(), gomp_thread_destructor, gomp_tls_key, and thr.
Here is the call graph for this function:
static void free_team | ( | struct gomp_team * | team | ) | [static] |
Definition at line 198 of file team.c.
References gomp_team::barrier, gomp_barrier_destroy(), gomp_mutex_destroy(), and gomp_team::task_lock.
Referenced by gomp_free_thread(), and gomp_team_end().
Here is the call graph for this function:
Here is the caller graph for this function:
static void gomp_free_pool_helper | ( | void * | thread_pool | ) | [static] |
Definition at line 219 of file team.c.
References gomp_barrier_wait_last(), gomp_sem_destroy(), and gomp_thread_pool::threads_dock.
Referenced by gomp_free_thread().
Here is the call graph for this function:
Here is the caller graph for this function:
static void gomp_free_thread | ( | void *arg | __attribute__((unused)) | ) | [static] |
Definition at line 231 of file team.c.
References free_team(), gomp_barrier_destroy(), gomp_barrier_wait(), gomp_end_task(), gomp_free_pool_helper(), gomp_thread(), i, gomp_thread_pool::last_team, nthr, thr, gomp_thread_pool::threads, gomp_thread_pool::threads_dock, and gomp_thread_pool::threads_used.
Referenced by __attribute__().
Here is the call graph for this function:
Here is the caller graph for this function:
struct gomp_task_icv* gomp_new_icv | ( | void | ) |
Definition at line 566 of file team.c.
References gomp_global_icv, gomp_init_task(), gomp_malloc(), gomp_thread(), gomp_thread_destructor, gomp_task::icv, and thr.
Referenced by gomp_icv().
Here is the call graph for this function:
Here is the caller graph for this function:
struct gomp_team* gomp_new_team | ( | unsigned | nthreads | ) |
Definition at line 155 of file team.c.
References gomp_barrier_init(), gomp_init_work_share(), gomp_malloc(), gomp_mutex_init(), gomp_sem_init(), i, gomp_team::implicit_task, and gomp_team::ordered_release.
Referenced by gomp_parallel_loop_start(), GOMP_parallel_sections_start(), and GOMP_parallel_start().
Here is the call graph for this function:
Here is the caller graph for this function:
static struct gomp_thread_pool* gomp_new_thread_pool | ( | void | ) | [static] |
Definition at line 207 of file team.c.
References gomp_malloc(), gomp_thread_pool::last_team, gomp_thread_pool::threads, gomp_thread_pool::threads_size, and gomp_thread_pool::threads_used.
Referenced by gomp_team_start().
Here is the call graph for this function:
Here is the caller graph for this function:
void gomp_team_end | ( | void | ) |
Definition at line 477 of file team.c.
References gomp_team::barrier, free_team(), gomp_barrier_wait(), gomp_end_task(), gomp_fini_work_share(), gomp_managed_threads, gomp_mutex_destroy(), gomp_mutex_lock(), gomp_mutex_unlock(), gomp_remaining_threads_lock, gomp_sem_destroy(), gomp_team_barrier_wait(), gomp_thread(), gomp_thread_pool::last_team, gomp_team::master_release, gomp_work_share::next_alloc, gomp_work_share::next_ws, gomp_team::nthreads, gomp_team::prev_ts, thr, gomp_team::work_share_list_free_lock, and gomp_team::work_shares.
Referenced by GOMP_parallel_end().
Here is the call graph for this function:
Here is the caller graph for this function:
void gomp_team_start | ( | void(*)(void *) | fn, | |
void * | data, | |||
unsigned | nthreads, | |||
struct gomp_team * | team | |||
) |
Definition at line 271 of file team.c.
References gomp_barrier_init(), gomp_barrier_reinit(), gomp_global_icv, gomp_init_task(), gomp_new_thread_pool(), gomp_realloc(), gomp_thread(), gomp_thread_destructor, i, gomp_task::icv, gomp_team::implicit_task, gomp_team_state::level, n, nthr, gomp_team::ordered_release, gomp_team::prev_ts, thr, gomp_thread_pool::threads, gomp_thread_pool::threads_dock, gomp_thread_pool::threads_size, gomp_thread_pool::threads_used, and gomp_team::work_shares.
Referenced by gomp_parallel_loop_start(), GOMP_parallel_sections_start(), and GOMP_parallel_start().
Here is the call graph for this function:
Here is the caller graph for this function:
void ompc_team_end | ( | ) |
Definition at line 70 of file team.c.
References gomp_team::barrier, data, gomp_barrier_wait(), gomp_barrier_wait_last(), gomp_finish_task(), gomp_sem_destroy(), gomp_sem_init(), gomp_team_barrier_wait(), gomp_tls_key, thr, gomp_thread_pool::threads, and gomp_thread_pool::threads_dock.
Here is the call graph for this function:
void ompc_team_start | ( | uint | loop_bounds | ) |
pthread_attr_t gomp_thread_attr |
pthread_key_t gomp_thread_destructor |
Definition at line 36 of file team.c.
Referenced by __attribute__(), gomp_new_icv(), and gomp_team_start().
pthread_key_t gomp_tls_key |