Wrapper for tbb::task_arena.
Wrapper over tbb::task_arena.
Necessary in order to keep tbb away from ROOT headers. This class is thought out to be used as a singleton.
This class is a wrapper over tbb::task_arena, in order to keep TBB away from ROOT's headers. We keep a single global instance to be used by any parallel ROOT class with TBB as a backend.
TThreadExecutor, IMT and any class relying on TBB will get a pointer to the scheduler through ROOT::Internal::GetGlobalTaskArena(), which will return areference to the only pointer to the TBB scheduler that will be active in any ROOT Process.
Definition at line 64 of file RTaskArena.hxx.
Classes | |
| struct | Attach |
| Marker for attaching to an existing tbb::task_arena. More... | |
Public Member Functions | |
| RTaskArenaWrapper (Attach) | |
| Initializes the tbb::task_arena within RTaskArenaWrapper by attaching to an existing arena. | |
| RTaskArenaWrapper (unsigned maxConcurrency=0) | |
| Initializes the tbb::task_arena within RTaskArenaWrapper. | |
| ~RTaskArenaWrapper () | |
| ROOT::ROpaqueTaskArena & | Access () |
| Provides access to the wrapped tbb::task_arena. | |
Static Public Member Functions | |
| static unsigned | TaskArenaSize () |
Private Attributes | |
| std::unique_ptr< ROOT::ROpaqueTaskArena > | fTBBArena |
Static Private Attributes | |
| static unsigned | fNWorkers = 0u |
Friends | |
| std::shared_ptr< ROOT::Internal::RTaskArenaWrapper > | GetGlobalTaskArena (unsigned, ROOT::EIMTConfig) |
#include <ROOT/RTaskArena.hxx>
| ROOT::Internal::RTaskArenaWrapper::~RTaskArenaWrapper | ( | ) |
Definition at line 125 of file RTaskArena.cxx.
| ROOT::Internal::RTaskArenaWrapper::RTaskArenaWrapper | ( | unsigned | maxConcurrency = 0 | ) |
Initializes the tbb::task_arena within RTaskArenaWrapper.
Definition at line 93 of file RTaskArena.cxx.
| ROOT::Internal::RTaskArenaWrapper::RTaskArenaWrapper | ( | RTaskArenaWrapper::Attach | ) |
Initializes the tbb::task_arena within RTaskArenaWrapper by attaching to an existing arena.
Definition at line 117 of file RTaskArena.cxx.
| ROOT::ROpaqueTaskArena & ROOT::Internal::RTaskArenaWrapper::Access | ( | ) |
Provides access to the wrapped tbb::task_arena.
Definition at line 139 of file RTaskArena.cxx.
|
static |
Definition at line 132 of file RTaskArena.cxx.
|
friend |
Definition at line 145 of file RTaskArena.cxx.
|
staticprivate |
Definition at line 77 of file RTaskArena.hxx.
|
private |
Definition at line 76 of file RTaskArena.hxx.