kmp_taskq.c File Reference

#include "kmp.h"
#include "kmp_i18n.h"
#include "kmp_io.h"
#include "kmp_error.h"

Go to the source code of this file.

Defines

#define KMP_DEBUG_REF_CTS(x)   KF_TRACE(1, x);
#define MAX_MESSAGE   512
#define THREAD_ALLOC_FOR_TASKQ

Functions

static kmpc_task_queue_t__kmp_alloc_taskq (kmp_taskq_t *tq, int in_parallel, kmp_int32 nslots, kmp_int32 nthunks, kmp_int32 nshareds, kmp_int32 nproc, size_t sizeof_thunk, size_t sizeof_shareds, kmpc_thunk_t **new_taskq_thunk, kmp_int32 global_tid)
static kmpc_thunk_t__kmp_alloc_thunk (kmpc_task_queue_t *queue, int in_parallel, kmp_int32 global_tid)
static void __kmp_aux_dump_task_queue_tree (kmp_taskq_t *tq, kmpc_task_queue_t *curr_queue, kmp_int32 level, kmp_int32 global_tid)
static kmpc_thunk_t__kmp_dequeue_task (kmp_int32 global_tid, kmpc_task_queue_t *queue, int in_parallel)
static void __kmp_dump_task_queue (kmp_taskq_t *tq, kmpc_task_queue_t *queue, kmp_int32 global_tid)
static void __kmp_dump_task_queue_tree (kmp_taskq_t *tq, kmpc_task_queue_t *tqroot, kmp_int32 global_tid)
static void __kmp_dump_thunk (kmp_taskq_t *tq, kmpc_thunk_t *thunk, kmp_int32 global_tid)
static void __kmp_dump_thunk_stack (kmpc_thunk_t *thunk, kmp_int32 thread_num)
static void __kmp_dump_TQF (kmp_int32 flags)
static kmp_int32 __kmp_enqueue_task (kmp_taskq_t *tq, kmp_int32 global_tid, kmpc_task_queue_t *queue, kmpc_thunk_t *thunk, int in_parallel)
static void __kmp_execute_task_from_queue (kmp_taskq_t *tq, ident_t *loc, kmp_int32 global_tid, kmpc_thunk_t *thunk, int in_parallel)
static void __kmp_find_and_remove_finished_child_taskq (kmp_taskq_t *tq, kmp_int32 global_tid, kmpc_task_queue_t *curr_queue)
static kmpc_thunk_t__kmp_find_task_in_ancestor_queue (kmp_taskq_t *tq, kmp_int32 global_tid, kmpc_task_queue_t *curr_queue)
static kmpc_thunk_t__kmp_find_task_in_descendant_queue (kmp_int32 global_tid, kmpc_task_queue_t *curr_queue)
static kmpc_thunk_t__kmp_find_task_in_queue (kmp_int32 global_tid, kmpc_task_queue_t *queue)
static void __kmp_free_taskq (kmp_taskq_t *tq, kmpc_task_queue_t *p, int in_parallel, kmp_int32 global_tid)
static void __kmp_free_thunk (kmpc_task_queue_t *queue, kmpc_thunk_t *p, int in_parallel, kmp_int32 global_tid)
static void __kmp_remove_all_child_taskq (kmp_taskq_t *tq, kmp_int32 global_tid, kmpc_task_queue_t *queue)
static void __kmp_remove_queue_from_tree (kmp_taskq_t *tq, kmp_int32 global_tid, kmpc_task_queue_t *queue, int in_parallel)
static void __kmp_static_delay (int arg)
static void __kmp_static_yield (int arg)
static void * __kmp_taskq_allocate (size_t size, kmp_int32 global_tid)
static void __kmp_taskq_check_ordered (kmp_int32 gtid, kmpc_thunk_t *thunk)
static void __kmp_taskq_eo (int *gtid_ref, int *cid_ref, ident_t *loc_ref)
static int __kmp_taskq_has_any_children (kmpc_task_queue_t *queue)
static int __kmp_taskq_tasks_finished (kmpc_task_queue_t *queue)
static void __kmp_taskq_xo (int *gtid_ref, int *cid_ref, ident_t *loc_ref)
void __kmpc_end_taskq (ident_t *loc, kmp_int32 global_tid, kmpc_thunk_t *taskq_thunk)
void __kmpc_end_taskq_task (ident_t *loc, kmp_int32 global_tid, kmpc_thunk_t *thunk)
kmp_int32 __kmpc_task (ident_t *loc, kmp_int32 global_tid, kmpc_thunk_t *thunk)
kmpc_thunk_t__kmpc_task_buffer (ident_t *loc, kmp_int32 global_tid, kmpc_thunk_t *taskq_thunk, kmpc_task_t task)
kmpc_thunk_t__kmpc_taskq (ident_t *loc, kmp_int32 global_tid, kmpc_task_t taskq_task, size_t sizeof_thunk, size_t sizeof_shareds, kmp_int32 flags, kmpc_shared_vars_t **shareds)
static void __kmpc_taskq_free (void *p, kmp_int32 global_tid)
void __kmpc_taskq_task (ident_t *loc, kmp_int32 global_tid, kmpc_thunk_t *thunk, kmp_int32 status)
static int in_parallel_context (kmp_team_t *team)

Define Documentation

#define KMP_DEBUG_REF_CTS (  )     KF_TRACE(1, x);
#define MAX_MESSAGE   512

Definition at line 52 of file kmp_taskq.c.

#define THREAD_ALLOC_FOR_TASKQ

Definition at line 63 of file kmp_taskq.c.


Function Documentation

static kmpc_task_queue_t* __kmp_alloc_taskq ( kmp_taskq_t tq,
int  in_parallel,
kmp_int32  nslots,
kmp_int32  nthunks,
kmp_int32  nshareds,
kmp_int32  nproc,
size_t  sizeof_thunk,
size_t  sizeof_shareds,
kmpc_thunk_t **  new_taskq_thunk,
kmp_int32  global_tid 
) [static]
static kmpc_thunk_t* __kmp_alloc_thunk ( kmpc_task_queue_t queue,
int  in_parallel,
kmp_int32  global_tid 
) [static]
static void __kmp_aux_dump_task_queue_tree ( kmp_taskq_t tq,
kmpc_task_queue_t curr_queue,
kmp_int32  level,
kmp_int32  global_tid 
) [static]
static kmpc_thunk_t* __kmp_dequeue_task ( kmp_int32  global_tid,
kmpc_task_queue_t queue,
int  in_parallel 
) [static]
static void __kmp_dump_task_queue ( kmp_taskq_t tq,
kmpc_task_queue_t queue,
kmp_int32  global_tid 
) [static]
static void __kmp_dump_task_queue_tree ( kmp_taskq_t tq,
kmpc_task_queue_t tqroot,
kmp_int32  global_tid 
) [static]
static void __kmp_dump_thunk ( kmp_taskq_t tq,
kmpc_thunk_t thunk,
kmp_int32  global_tid 
) [static]
static void __kmp_dump_thunk_stack ( kmpc_thunk_t thunk,
kmp_int32  thread_num 
) [static]
static void __kmp_dump_TQF ( kmp_int32  flags  )  [static]
static kmp_int32 __kmp_enqueue_task ( kmp_taskq_t tq,
kmp_int32  global_tid,
kmpc_task_queue_t queue,
kmpc_thunk_t thunk,
int  in_parallel 
) [static]
static void __kmp_execute_task_from_queue ( kmp_taskq_t tq,
ident_t loc,
kmp_int32  global_tid,
kmpc_thunk_t thunk,
int  in_parallel 
) [static]
static void __kmp_find_and_remove_finished_child_taskq ( kmp_taskq_t tq,
kmp_int32  global_tid,
kmpc_task_queue_t curr_queue 
) [static]
static kmpc_thunk_t* __kmp_find_task_in_ancestor_queue ( kmp_taskq_t tq,
kmp_int32  global_tid,
kmpc_task_queue_t curr_queue 
) [static]
static kmpc_thunk_t* __kmp_find_task_in_descendant_queue ( kmp_int32  global_tid,
kmpc_task_queue_t curr_queue 
) [static]
static kmpc_thunk_t* __kmp_find_task_in_queue ( kmp_int32  global_tid,
kmpc_task_queue_t queue 
) [static]
static void __kmp_free_taskq ( kmp_taskq_t tq,
kmpc_task_queue_t p,
int  in_parallel,
kmp_int32  global_tid 
) [static]
static void __kmp_free_thunk ( kmpc_task_queue_t queue,
kmpc_thunk_t p,
int  in_parallel,
kmp_int32  global_tid 
) [static]
static void __kmp_remove_all_child_taskq ( kmp_taskq_t tq,
kmp_int32  global_tid,
kmpc_task_queue_t queue 
) [static]
static void __kmp_remove_queue_from_tree ( kmp_taskq_t tq,
kmp_int32  global_tid,
kmpc_task_queue_t queue,
int  in_parallel 
) [static]
static void __kmp_static_delay ( int  arg  )  [static]

Definition at line 66 of file kmp_taskq.c.

References KMP_ASSERT.

static void __kmp_static_yield ( int  arg  )  [static]

Definition at line 77 of file kmp_taskq.c.

References __kmp_yield().

static void* __kmp_taskq_allocate ( size_t  size,
kmp_int32  global_tid 
) [static]
static void __kmp_taskq_check_ordered ( kmp_int32  gtid,
kmpc_thunk_t thunk 
) [static]
static void __kmp_taskq_eo ( int *  gtid_ref,
int *  cid_ref,
ident_t loc_ref 
) [static]
static int __kmp_taskq_has_any_children ( kmpc_task_queue_t queue  )  [static]
static int __kmp_taskq_tasks_finished ( kmpc_task_queue_t queue  )  [static]
static void __kmp_taskq_xo ( int *  gtid_ref,
int *  cid_ref,
ident_t loc_ref 
) [static]
void __kmpc_end_taskq ( ident_t loc,
kmp_int32  global_tid,
kmpc_thunk_t taskq_thunk 
)
void __kmpc_end_taskq_task ( ident_t loc,
kmp_int32  global_tid,
kmpc_thunk_t thunk 
)
kmp_int32 __kmpc_task ( ident_t loc,
kmp_int32  global_tid,
kmpc_thunk_t thunk 
)
kmpc_thunk_t* __kmpc_task_buffer ( ident_t loc,
kmp_int32  global_tid,
kmpc_thunk_t taskq_thunk,
kmpc_task_t  task 
)
kmpc_thunk_t* __kmpc_taskq ( ident_t loc,
kmp_int32  global_tid,
kmpc_task_t  taskq_task,
size_t  sizeof_thunk,
size_t  sizeof_shareds,
kmp_int32  flags,
kmpc_shared_vars_t **  shareds 
)
static void __kmpc_taskq_free ( void *  p,
kmp_int32  global_tid 
) [static]

Definition at line 470 of file kmp_taskq.c.

References __kmp_thread_free, __kmp_thread_from_gtid, KB_TRACE, and KMP_INTERNAL_FREE.

Referenced by __kmp_free_taskq().

void __kmpc_taskq_task ( ident_t loc,
kmp_int32  global_tid,
kmpc_thunk_t thunk,
kmp_int32  status 
)
static int in_parallel_context ( kmp_team_t team  )  [static]

Definition at line 83 of file kmp_taskq.c.

Referenced by __kmpc_taskq().


Generated on 25 Aug 2013 for libomp_oss by  doxygen 1.6.1