libMesh
Loading...
Searching...
No Matches
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.

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

References _gc, and automatic.

Member Function Documentation

◆ initialize() [1/3]

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

Definition at line 117 of file threads_tbb.h.

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 }

References _gc, and automatic.

◆ initialize() [2/3]

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

Definition at line 53 of file threads_none.h.

53{}

◆ 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 251 of file threads_pthread.h.

251{}

◆ terminate() [3/3]

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

Definition at line 125 of file threads_tbb.h.

125{ _gc.reset(); }

References _gc.

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: