Arcane  4.2.2.0
Developer documentation
Loading...
Searching...
No Matches
Arcane::TBBTaskImplementation::Impl Class Reference
Collaboration diagram for Arcane::TBBTaskImplementation::Impl:

Classes

class  TaskObserver

Public Member Functions

 Impl (Int32 nb_thread)
Int32 nbAllowedThread () const
TaskThreadInfo * threadTaskInfo (Integer index)
void terminate ()
void notifyThreadCreated (bool is_worker)
void notifyThreadDestroyed (bool is_worker)

Public Attributes

tbb::task_arena m_main_arena
std::vector< tbb::task_arena * > m_sub_arena_list
 Array whose i-th element contains the tbb::task_arena for i thread.

Private Member Functions

void _init ()

Private Attributes

Int32 m_nb_allowed_thread = 0
std::atomic< Int32m_nb_observed = 0
 Counter to know how many times the observer has been called.
oneapi::tbb::task_scheduler_handle m_task_scheduler_handle = tbb::task_scheduler_handle::get()
TaskObserver m_task_observer
std::mutex m_thread_created_mutex
std::vector< TaskThreadInfo > m_thread_task_infos
std::unordered_set< std::thread::id > m_constructed_thread_map
std::atomic< Int32m_is_terminate_called = 0

Detailed Description

Definition at line 502 of file TBBTaskImplementation.cc.

Constructor & Destructor Documentation

◆ Impl() [1/2]

Arcane::TBBTaskImplementation::Impl::Impl ( )
inline

Definition at line 527 of file TBBTaskImplementation.cc.

◆ Impl() [2/2]

Arcane::TBBTaskImplementation::Impl::Impl ( Int32 nb_thread)
inline

Definition at line 534 of file TBBTaskImplementation.cc.

Member Function Documentation

◆ _init()

void Arcane::TBBTaskImplementation::Impl::_init ( )
inlineprivate

Definition at line 647 of file TBBTaskImplementation.cc.

◆ nbAllowedThread()

Int32 Arcane::TBBTaskImplementation::Impl::nbAllowedThread ( ) const
inline

Definition at line 545 of file TBBTaskImplementation.cc.

◆ notifyThreadCreated()

void Arcane::TBBTaskImplementation::Impl::notifyThreadCreated ( bool is_worker)
inline

Definition at line 575 of file TBBTaskImplementation.cc.

◆ notifyThreadDestroyed()

void Arcane::TBBTaskImplementation::Impl::notifyThreadDestroyed ( bool is_worker)
inline

Definition at line 615 of file TBBTaskImplementation.cc.

◆ terminate()

void Arcane::TBBTaskImplementation::Impl::terminate ( )
inline

Definition at line 556 of file TBBTaskImplementation.cc.

◆ threadTaskInfo()

TaskThreadInfo * Arcane::TBBTaskImplementation::Impl::threadTaskInfo ( Integer index)
inline

Definition at line 546 of file TBBTaskImplementation.cc.

Member Data Documentation

◆ m_constructed_thread_map

std::unordered_set<std::thread::id> Arcane::TBBTaskImplementation::Impl::m_constructed_thread_map
private

Definition at line 642 of file TBBTaskImplementation.cc.

◆ m_is_terminate_called

std::atomic<Int32> Arcane::TBBTaskImplementation::Impl::m_is_terminate_called = 0
private

Definition at line 643 of file TBBTaskImplementation.cc.

◆ m_main_arena

tbb::task_arena Arcane::TBBTaskImplementation::Impl::m_main_arena

Definition at line 633 of file TBBTaskImplementation.cc.

◆ m_nb_allowed_thread

Int32 Arcane::TBBTaskImplementation::Impl::m_nb_allowed_thread = 0
private

Definition at line 550 of file TBBTaskImplementation.cc.

◆ m_nb_observed

std::atomic<Int32> Arcane::TBBTaskImplementation::Impl::m_nb_observed = 0
private

Counter to know how many times the observer has been called.

Definition at line 552 of file TBBTaskImplementation.cc.

◆ m_sub_arena_list

std::vector<tbb::task_arena*> Arcane::TBBTaskImplementation::Impl::m_sub_arena_list

Array whose i-th element contains the tbb::task_arena for i thread.

Definition at line 635 of file TBBTaskImplementation.cc.

◆ m_task_observer

TaskObserver Arcane::TBBTaskImplementation::Impl::m_task_observer
private

Definition at line 639 of file TBBTaskImplementation.cc.

◆ m_task_scheduler_handle

oneapi::tbb::task_scheduler_handle Arcane::TBBTaskImplementation::Impl::m_task_scheduler_handle = tbb::task_scheduler_handle::get()
private

Definition at line 628 of file TBBTaskImplementation.cc.

◆ m_thread_created_mutex

std::mutex Arcane::TBBTaskImplementation::Impl::m_thread_created_mutex
private

Definition at line 640 of file TBBTaskImplementation.cc.

◆ m_thread_task_infos

std::vector<TaskThreadInfo> Arcane::TBBTaskImplementation::Impl::m_thread_task_infos
private

Definition at line 641 of file TBBTaskImplementation.cc.


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