Go to the documentation of this file.
14 #ifndef THREADMANAGER_INCLUDED
15 #define THREADMANAGER_INCLUDED
53 #ifdef REDUCTION_EACH_BUF_SIZE_DC
59 #ifdef REDUCTION_EACH_BUF_SIZE
65 #ifdef REDUCTION_EACH_BUF_SIZE_F
80 static void init(
int Nthread);
98 static void barrier(
const int Nthread);
105 const int i_thread,
const int Nthread);
109 const int i_thread,
const int Nthread);
113 const int i_thread,
const int Nthread);
117 const int i_thread,
const int Nthread);
121 const int i_thread,
const int Nthread);
125 const int i_thread,
const int Nthread);
129 const int i_thread,
const int Nthread);
133 const int i_thread,
const int Nthread);
144 #endif //THREADMANAGER_INCLUDED
static const int each_buf_size
reduction buffer size for each thread (double)
static int m_Nthread
number of threads.
static int get_num_threads()
returns available number of threads.
static std::vector< double > m_darray_reduction
ThreadManager & operator=(const ThreadManager &)
static void barrier(const int Nthread)
barrier among threads inside a node.
static const int each_buf_sizeF
reduction buffer size for each thread (float)
static void reduce_max_global(double *value, const int num, const int i_thread, const int Nthread)
global reduction with max for an array: double values are assumed thread local.
static void sync_barrier_all()
barrier among all the threads and nodes.
static void init(int Nthread)
setup: called in main only once.
static Bridge::VerboseLevel m_vl
verbose level.
static void reduce_sum_global(dcomplex &value, const int i_thread, const int Nthread)
global reduction with summation: dcomplex values are assumed thread local.
static const std::string class_name
ThreadManager ThreadManager_OpenMP
static std::vector< dcomplex > m_darray_reductionDC
static void wait()
barrier among threads inside a node.
static std::vector< float > m_darray_reductionF
static int get_num_threads_available()
returns number of threads (works outside of parallel region).
static void finalize()
finalization.
static int get_thread_id()
returns thread id.
Thread manager with OpenMP.
static void assert_single_thread(const std::string &class_name)
assert currently running on single thread.
ThreadManager(const ThreadManager &)
static const int each_buf_sizeDC
reduction buffer size for each thread (dcomplex)