libMesh
Public Member Functions | Static Public Attributes | Private Attributes | List of all members
libMesh::Threads::task_scheduler_init Class Reference

Scheduler to manage threads. More...

#include <threads_none.h>

Public Member Functions

 task_scheduler_init (int=automatic)
 
void initialize (int=automatic)
 
void terminate ()
 
 task_scheduler_init (int=automatic)
 
void initialize (int=automatic)
 
void terminate ()
 
 task_scheduler_init (int n=automatic)
 
void initialize (int n=automatic)
 
void terminate ()
 

Static Public Attributes

static const int automatic = -1
 

Private Attributes

std::unique_ptr< tbb::global_control > _gc
 

Detailed Description

Scheduler to manage threads.

Definition at line 48 of file threads_none.h.

Constructor & Destructor Documentation

◆ task_scheduler_init() [1/3]

libMesh::Threads::task_scheduler_init::task_scheduler_init ( int  = automatic)
inlineexplicit

Definition at line 52 of file threads_none.h.

52 {}

◆ task_scheduler_init() [2/3]

libMesh::Threads::task_scheduler_init::task_scheduler_init ( int  = automatic)
inlineexplicit

Definition at line 249 of file threads_pthread.h.

249 {}

◆ task_scheduler_init() [3/3]

libMesh::Threads::task_scheduler_init::task_scheduler_init ( int  n = automatic)
inlineexplicit

Definition at line 109 of file threads_tbb.h.

References _gc, and automatic.

110  {
111  if (n != automatic && n > 0)
112  _gc = std::make_unique<tbb::global_control>(
113  tbb::global_control::max_allowed_parallelism,
114  static_cast<std::size_t>(n));
115  }
std::unique_ptr< tbb::global_control > _gc
Definition: threads_tbb.h:128

Member Function Documentation

◆ initialize() [1/3]

void libMesh::Threads::task_scheduler_init::initialize ( int  = automatic)
inline

Definition at line 53 of file threads_none.h.

53 {}

◆ initialize() [2/3]

void libMesh::Threads::task_scheduler_init::initialize ( int  n = automatic)
inline

Definition at line 117 of file threads_tbb.h.

References _gc, and automatic.

118  {
119  if (n != automatic && n > 0)
120  _gc = std::make_unique<tbb::global_control>(
121  tbb::global_control::max_allowed_parallelism,
122  static_cast<std::size_t>(n));
123  }
std::unique_ptr< tbb::global_control > _gc
Definition: threads_tbb.h:128

◆ initialize() [3/3]

void libMesh::Threads::task_scheduler_init::initialize ( int  = automatic)
inline

Definition at line 250 of file threads_pthread.h.

250 {}

◆ terminate() [1/3]

void libMesh::Threads::task_scheduler_init::terminate ( )
inline

Definition at line 54 of file threads_none.h.

54 {}

◆ terminate() [2/3]

void libMesh::Threads::task_scheduler_init::terminate ( )
inline

Definition at line 125 of file threads_tbb.h.

References _gc.

125 { _gc.reset(); }
std::unique_ptr< tbb::global_control > _gc
Definition: threads_tbb.h:128

◆ terminate() [3/3]

void libMesh::Threads::task_scheduler_init::terminate ( )
inline

Definition at line 251 of file threads_pthread.h.

251 {}

Member Data Documentation

◆ _gc

std::unique_ptr<tbb::global_control> libMesh::Threads::task_scheduler_init::_gc
private

Definition at line 128 of file threads_tbb.h.

Referenced by initialize(), task_scheduler_init(), and terminate().

◆ automatic

static const int libMesh::Threads::task_scheduler_init::automatic = -1
static

Definition at line 51 of file threads_none.h.

Referenced by initialize(), and task_scheduler_init().


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