/home/runner/work/HiCR/HiCR/include/hicr/backends/hwloc/topologyManager.hpp Source File
HiCR
|
topologyManager.hpp
Go to the documentation of this file.
116 [[nodiscard]] __INLINE__ HiCR::Topology _deserializeTopology(const nlohmann::json &topology) const override { return deserializeTopology(topology); }
140 __INLINE__ HiCR::Device::computeResourceList_t queryComputeResources(const hwloc::Device::NUMADomainID_t numaDomainId)
145 // Creating compute resource list, based on the processing units (hyperthreads) observed by HWLoc
147 HiCR::backend::hwloc::ComputeResource::detectThreadPUs(*_topology, hwloc_get_root_obj(*_topology), 0, logicalProcessorIds);
167 __INLINE__ HiCR::Device::memorySpaceList_t queryMemorySpaces(const hwloc::Device::NUMADomainID_t numaDomainId)
178 auto ptr = hwloc_alloc_membind(*_topology, size, hwlocObj->nodeset, HWLOC_MEMBIND_DEFAULT, HWLOC_MEMBIND_BYNODESET | HWLOC_MEMBIND_STRICT);
This file implements the compute resource class for the HWLoc-based backend.
This file implements the Device class for the hwloc backend.
This file implements the memory space class for the HWLoc-based backend.
constexpr size_t _HWLOC_MAX_MEMSPACE_SIZE
Definition topologyManager.hpp:39
std::vector< std::shared_ptr< ComputeResource > > computeResourceList_t
Definition device.hpp:59
std::vector< std::shared_ptr< MemorySpace > > memorySpaceList_t
Definition device.hpp:64
Definition topologyManager.hpp:50
Definition topology.hpp:40
__INLINE__ void addDevice(const std::shared_ptr< HiCR::Device > &device)
Definition topology.hpp:62
static __INLINE__ void verify(const nlohmann::json &input)
Definition topology.hpp:102
Definition computeResource.hpp:41
static __INLINE__ void detectThreadPUs(hwloc_topology_t topology, hwloc_obj_t obj, int depth, std::vector< logicalProcessorId_t > &threadPUs)
Definition computeResource.hpp:129
@ strict_binding
Definition localMemorySlot.hpp:48
@ strict_non_binding
Definition localMemorySlot.hpp:53
Definition topologyManager.hpp:45
static __INLINE__ std::unique_ptr< HiCR::TopologyManager > createDefault()
Definition topologyManager.hpp:123
static __INLINE__ HiCR::Topology deserializeTopology(const nlohmann::json &topology)
Definition topologyManager.hpp:94
TopologyManager(hwloc_topology_t *topology)
Definition topologyManager.hpp:53
__INLINE__ HiCR::Topology _deserializeTopology(const nlohmann::json &topology) const override
Definition topologyManager.hpp:116
~TopologyManager() override=default
__INLINE__ HiCR::Topology queryTopology() override
Definition topologyManager.hpp:63
Provides a definition for the abstract device manager class.
Generated by