Arcane  4.1.12.0
Developer documentation
Loading...
Searching...
No Matches
Arcane::HWLocProcessorAffinityService Class Reference
Inheritance diagram for Arcane::HWLocProcessorAffinityService:
Collaboration diagram for Arcane::HWLocProcessorAffinityService:

Public Member Functions

 HWLocProcessorAffinityService (const ServiceBuildInfo &sbi)
 HWLocProcessorAffinityService (ITraceMng *tm)
void build () override
void printInfos () override
 Displays complete topology information via info().
String cpuSetString () override
 Returns the cpuset for the current thread.
void bindThread (Int32 cpu) override
 Constrains the current thread to stay on the core with index cpu.
Int32 numberOfCore () override
 Number of CPU cores (-1 if unknown).
Int32 numberOfSocket () override
 Number of sockets (-1 if unknown).
Int32 numberOfProcessingUnit () override
 Number of logical cores (-1 if unknown).
Public Member Functions inherited from Arcane::TraceAccessor
 TraceAccessor (ITraceMng *m)
 Constructs an accessor via the trace manager m.
 TraceAccessor (const TraceAccessor &rhs)
 Copy constructor.
TraceAccessoroperator= (const TraceAccessor &rhs)
 Copy assignment operator.
virtual ~TraceAccessor ()
 Frees resources.
ITraceMngtraceMng () const
 Trace manager.
TraceMessage info () const
 Flow for an information message.
TraceMessage pinfo () const
 Flow for a parallel information message.
TraceMessage info (char category) const
 Flow for an information message of a given category.
TraceMessage pinfo (char category) const
 Flow for a parallel information message of a given category.
TraceMessage info (bool v) const
 Flow for an information message.
TraceMessage warning () const
 Flow for a warning message.
TraceMessage pwarning () const
TraceMessage error () const
 Flow for an error message.
TraceMessage perror () const
TraceMessage log () const
 Flow for a log message.
TraceMessage plog () const
 Flow for a log message.
TraceMessage logdate () const
 Flow for a log message preceded by the date.
TraceMessage fatal () const
 Flow for a fatal error message.
TraceMessage pfatal () const
 Flow for a parallel fatal error message.
TraceMessageDbg debug (Trace::eDebugLevel=Trace::Medium) const
 Flow for a debug message.
Trace::eDebugLevel configDbgLevel () const
 Debug level of the configuration file.
TraceMessage info (Int32 verbose_level) const
 Flow for an information message of a given level.
TraceMessage linfo () const
 Flow for an information message with the local information level of this instance.
TraceMessage linfo (Int32 relative_level) const
 Flow for an information message with the local information level of this instance.
void fatalMessage (const StandaloneTraceMessage &o) const

Private Member Functions

void _checkInit ()
void _outputTopology (hwloc_obj_t l, hwloc_obj_t parent, int i, OStringStream &ostr)
int _numberOf (const hwloc_obj_type_t)

Private Attributes

bool m_is_init = false
hwloc_topology_t m_topology = nullptr

Additional Inherited Members

Protected Member Functions inherited from Arcane::TraceAccessor
void _setLocalVerboseLevel (Int32 v)
Int32 _localVerboseLevel () const

Detailed Description

Definition at line 36 of file HWLocProcessorAffinity.cc.

Constructor & Destructor Documentation

◆ HWLocProcessorAffinityService() [1/2]

Arcane::HWLocProcessorAffinityService::HWLocProcessorAffinityService ( const ServiceBuildInfo & sbi)
inlineexplicit

Definition at line 42 of file HWLocProcessorAffinity.cc.

◆ HWLocProcessorAffinityService() [2/2]

Arcane::HWLocProcessorAffinityService::HWLocProcessorAffinityService ( ITraceMng * tm)
inlineexplicit

Definition at line 46 of file HWLocProcessorAffinity.cc.

◆ ~HWLocProcessorAffinityService()

Arcane::HWLocProcessorAffinityService::~HWLocProcessorAffinityService ( )
inlineoverride

Definition at line 52 of file HWLocProcessorAffinity.cc.

Member Function Documentation

◆ _checkInit()

void Arcane::HWLocProcessorAffinityService::_checkInit ( )
private

Definition at line 147 of file HWLocProcessorAffinity.cc.

◆ _numberOf()

Int32 Arcane::HWLocProcessorAffinityService::_numberOf ( const hwloc_obj_type_t that)
private

Definition at line 236 of file HWLocProcessorAffinity.cc.

◆ _outputTopology()

void Arcane::HWLocProcessorAffinityService::_outputTopology ( hwloc_obj_t l,
hwloc_obj_t parent,
int i,
OStringStream & ostr )
private

Definition at line 117 of file HWLocProcessorAffinity.cc.

◆ bindThread()

void Arcane::HWLocProcessorAffinityService::bindThread ( Int32 cpu)
overridevirtual

Constrains the current thread to stay on the core with index cpu.

Implements Arcane::IProcessorAffinityService.

Definition at line 202 of file HWLocProcessorAffinity.cc.

◆ build()

void Arcane::HWLocProcessorAffinityService::build ( )
inlineoverridevirtual

Implements Arcane::IProcessorAffinityService.

Definition at line 60 of file HWLocProcessorAffinity.cc.

◆ cpuSetString()

String Arcane::HWLocProcessorAffinityService::cpuSetString ( )
overridevirtual

Returns the cpuset for the current thread.

The returned string is in a format compatible with that of taskset. For example, we can have values such as 'ff', '1, or 'ffff1234,ff'.

Implements Arcane::IProcessorAffinityService.

Definition at line 173 of file HWLocProcessorAffinity.cc.

Referenced by printInfos().

Here is the caller graph for this function:

◆ numberOfCore()

Int32 Arcane::HWLocProcessorAffinityService::numberOfCore ( )
overridevirtual

Number of CPU cores (-1 if unknown).

Implements Arcane::IProcessorAffinityService.

Definition at line 250 of file HWLocProcessorAffinity.cc.

◆ numberOfProcessingUnit()

Int32 Arcane::HWLocProcessorAffinityService::numberOfProcessingUnit ( )
overridevirtual

Number of logical cores (-1 if unknown).

Implements Arcane::IProcessorAffinityService.

Definition at line 268 of file HWLocProcessorAffinity.cc.

◆ numberOfSocket()

Int32 Arcane::HWLocProcessorAffinityService::numberOfSocket ( )
overridevirtual

Number of sockets (-1 if unknown).

Implements Arcane::IProcessorAffinityService.

Definition at line 259 of file HWLocProcessorAffinity.cc.

◆ printInfos()

void Arcane::HWLocProcessorAffinityService::printInfos ( )
overridevirtual

Displays complete topology information via info().

Implements Arcane::IProcessorAffinityService.

Definition at line 189 of file HWLocProcessorAffinity.cc.

References cpuSetString(), and Arcane::TraceAccessor::info().

Here is the call graph for this function:

Member Data Documentation

◆ m_is_init

bool Arcane::HWLocProcessorAffinityService::m_is_init = false
private

Definition at line 75 of file HWLocProcessorAffinity.cc.

◆ m_topology

hwloc_topology_t Arcane::HWLocProcessorAffinityService::m_topology = nullptr
private

Definition at line 76 of file HWLocProcessorAffinity.cc.


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