LLVM OpenMP 19.0.0git
Classes | Typedefs | Enumerations | Functions | Variables
kmp_dispatch_hier.h File Reference
#include "kmp.h"
#include "kmp_dispatch.h"

Go to the source code of this file.

Classes

struct  kmp_hier_sched_env_t
 
struct  kmp_hier_shared_bdata_t< T >
 
class  core_barrier_impl< T >
 
class  counter_barrier_impl< T >
 
struct  kmp_hier_top_unit_t< T >
 
struct  kmp_hier_layer_info_t< T >
 
struct  kmp_hier_t< T >
 

Typedefs

typedef struct kmp_hier_sched_env_t kmp_hier_sched_env_t
 

Enumerations

enum  kmp_hier_layer_e {
  LAYER_THREAD = -1 , LAYER_L1 , LAYER_L2 , LAYER_L3 ,
  LAYER_NUMA , LAYER_LOOP , LAYER_LAST
}
 

Functions

static const char__kmp_get_hier_str (kmp_hier_layer_e type)
 
int __kmp_dispatch_get_index (int tid, kmp_hier_layer_e type)
 
int __kmp_dispatch_get_id (int gtid, kmp_hier_layer_e type)
 
int __kmp_dispatch_get_t1_per_t2 (kmp_hier_layer_e t1, kmp_hier_layer_e t2)
 
void __kmp_dispatch_free_hierarchies (kmp_team_t *team)
 
template<typename T >
void __kmp_dispatch_init_hierarchy (ident_t *loc, int n, kmp_hier_layer_e *new_layers, enum sched_type *new_scheds, typename traits_t< T >::signed_t *new_chunks, T lb, T ub, typename traits_t< T >::signed_t st)
 

Variables

int __kmp_dispatch_hand_threading
 
kmp_hier_sched_env_t __kmp_hier_scheds
 
int __kmp_hier_max_units [kmp_hier_layer_e::LAYER_LAST+1]
 
int __kmp_hier_threads_per [kmp_hier_layer_e::LAYER_LAST+1]
 

Typedef Documentation

◆ kmp_hier_sched_env_t

Enumeration Type Documentation

◆ kmp_hier_layer_e

Enumerator
LAYER_THREAD 
LAYER_L1 
LAYER_L2 
LAYER_L3 
LAYER_NUMA 
LAYER_LOOP 
LAYER_LAST 

Definition at line 19 of file kmp_dispatch_hier.h.

Function Documentation

◆ __kmp_dispatch_free_hierarchies()

void __kmp_dispatch_free_hierarchies ( kmp_team_t team)

Referenced by __kmp_free_team_arrays().

◆ __kmp_dispatch_get_id()

int __kmp_dispatch_get_id ( int  gtid,
kmp_hier_layer_e  type 
)

◆ __kmp_dispatch_get_index()

int __kmp_dispatch_get_index ( int  tid,
kmp_hier_layer_e  type 
)

◆ __kmp_dispatch_get_t1_per_t2()

int __kmp_dispatch_get_t1_per_t2 ( kmp_hier_layer_e  t1,
kmp_hier_layer_e  t2 
)

◆ __kmp_dispatch_init_hierarchy()

template<typename T >
void __kmp_dispatch_init_hierarchy ( ident_t loc,
int  n,
kmp_hier_layer_e new_layers,
enum sched_type new_scheds,
typename traits_t< T >::signed_t *  new_chunks,
lb,
ub,
typename traits_t< T >::signed_t  st 
)

◆ __kmp_get_hier_str()

static const char * __kmp_get_hier_str ( kmp_hier_layer_e  type)
inlinestatic

Variable Documentation

◆ __kmp_dispatch_hand_threading

int __kmp_dispatch_hand_threading
extern

Referenced by kmp_hier_t< T >::next().

◆ __kmp_hier_max_units

int __kmp_hier_max_units[kmp_hier_layer_e::LAYER_LAST+1]
extern

◆ __kmp_hier_scheds

kmp_hier_sched_env_t __kmp_hier_scheds
extern

◆ __kmp_hier_threads_per

int __kmp_hier_threads_per[kmp_hier_layer_e::LAYER_LAST+1]
extern