LLVM OpenMP 22.0.0git
distributedBarrier Class Reference

#include "/home/buildbot/as-worker-4/publish-doxygen-docs/llvm-project/openmp/runtime/src/kmp_barrier.h"

Public Types

enum  { MAX_ITERS = 3 , MAX_GOS = 8 , IDEAL_GOS = 4 , IDEAL_CONTENTION = 16 }

Public Member Functions

 distributedBarrier ()=delete
 ~distributedBarrier ()=delete
void update_num_threads (size_t nthr)
bool need_resize (size_t new_nthr)
size_t get_num_threads ()
kmp_uint64 go_release ()
void go_reset ()

Static Public Member Functions

static distributedBarrierallocate (int nThreads)
static void deallocate (distributedBarrier *db)

Public Attributes

flags_s * flags [MAX_ITERS]
go_s * go
iter_s * iter
sleep_s * sleep
size_t KMP_ALIGN_CACHE num_threads
size_t KMP_ALIGN_CACHE max_threads
size_t KMP_ALIGN_CACHE num_gos
size_t KMP_ALIGN_CACHE num_groups
size_t KMP_ALIGN_CACHE threads_per_go
bool KMP_ALIGN_CACHE fix_threads_per_go
size_t KMP_ALIGN_CACHE threads_per_group
size_t KMP_ALIGN_CACHE gos_per_group
voidteam_icvs

Detailed Description

Definition at line 59 of file kmp_barrier.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
MAX_ITERS 
MAX_GOS 
IDEAL_GOS 
IDEAL_CONTENTION 

Definition at line 82 of file kmp_barrier.h.

Constructor & Destructor Documentation

◆ distributedBarrier()

distributedBarrier::distributedBarrier ( )
delete

Referenced by allocate(), and deallocate().

◆ ~distributedBarrier()

distributedBarrier::~distributedBarrier ( )
delete

Member Function Documentation

◆ allocate()

distributedBarrier * distributedBarrier::allocate ( int nThreads)
inlinestatic

Definition at line 113 of file kmp_barrier.h.

References CACHE_LINE, d, distributedBarrier(), i, KMP_ALIGNED_ALLOCATE, KMP_FATAL, and MAX_ITERS.

Referenced by __kmp_allocate_team().

◆ deallocate()

void distributedBarrier::deallocate ( distributedBarrier * db)
static

◆ get_num_threads()

size_t distributedBarrier::get_num_threads ( )
inline

Definition at line 138 of file kmp_barrier.h.

References num_threads.

◆ go_release()

kmp_uint64 distributedBarrier::go_release ( )

Definition at line 163 of file kmp_barrier.cpp.

References go, iter, j, MAX_ITERS, and num_gos.

◆ go_reset()

void distributedBarrier::go_reset ( )

Definition at line 171 of file kmp_barrier.cpp.

References flags, go, i, iter, j, MAX_ITERS, and max_threads.

◆ need_resize()

bool distributedBarrier::need_resize ( size_t new_nthr)
inline

Definition at line 137 of file kmp_barrier.h.

References max_threads.

◆ update_num_threads()

void distributedBarrier::update_num_threads ( size_t nthr)
inline

Definition at line 135 of file kmp_barrier.h.

Member Data Documentation

◆ fix_threads_per_go

bool KMP_ALIGN_CACHE distributedBarrier::fix_threads_per_go

Definition at line 102 of file kmp_barrier.h.

◆ flags

flags_s* distributedBarrier::flags[MAX_ITERS]

Definition at line 89 of file kmp_barrier.h.

Referenced by deallocate(), and go_reset().

◆ go

go_s* distributedBarrier::go

Definition at line 90 of file kmp_barrier.h.

Referenced by deallocate(), go_release(), and go_reset().

◆ gos_per_group

size_t KMP_ALIGN_CACHE distributedBarrier::gos_per_group

Definition at line 106 of file kmp_barrier.h.

◆ iter

iter_s* distributedBarrier::iter

Definition at line 91 of file kmp_barrier.h.

Referenced by deallocate(), go_release(), and go_reset().

◆ max_threads

size_t KMP_ALIGN_CACHE distributedBarrier::max_threads

Definition at line 95 of file kmp_barrier.h.

Referenced by go_reset(), and need_resize().

◆ num_gos

size_t KMP_ALIGN_CACHE distributedBarrier::num_gos

Definition at line 97 of file kmp_barrier.h.

Referenced by go_release().

◆ num_groups

size_t KMP_ALIGN_CACHE distributedBarrier::num_groups

Definition at line 99 of file kmp_barrier.h.

◆ num_threads

size_t KMP_ALIGN_CACHE distributedBarrier::num_threads

Definition at line 94 of file kmp_barrier.h.

Referenced by get_num_threads().

◆ sleep

sleep_s* distributedBarrier::sleep

Definition at line 92 of file kmp_barrier.h.

Referenced by deallocate().

◆ team_icvs

void* distributedBarrier::team_icvs

Definition at line 107 of file kmp_barrier.h.

Referenced by deallocate().

◆ threads_per_go

size_t KMP_ALIGN_CACHE distributedBarrier::threads_per_go

Definition at line 101 of file kmp_barrier.h.

◆ threads_per_group

size_t KMP_ALIGN_CACHE distributedBarrier::threads_per_group

Definition at line 104 of file kmp_barrier.h.


The documentation for this class was generated from the following files: