|
Gromacs
2026.0-dev-20251106-2ba968f
|
#include "gmxpre.h"#include "hardwaretopology.h"#include "config.h"#include <cstdio>#include <cstdlib>#include <algorithm>#include <array>#include <fstream>#include <iterator>#include <limits>#include <sstream>#include <string>#include <string_view>#include <unordered_map>#include <unordered_set>#include <vector>#include <sys/types.h>#include "gromacs/hardware/cpuinfo.h"#include "gromacs/utility/arrayref.h"#include "gromacs/utility/gmxassert.h"#include "gromacs/utility/stringutil.h"
Include dependency graph for hardwaretopology.cpp:Implements gmx::HardwareTopology.
Functions | |
| std::unordered_set< int > | gmx::anonymous_namespace{hardwaretopology.cpp}::getAffinityList () |
| void | gmx::anonymous_namespace{hardwaretopology.cpp}::translateCpuInfoLogicalProcessorsToMachine (ArrayRef< const CpuInfo::LogicalProcessor > logicalProcessors, HardwareTopology::Machine *machine) |
| Utlility function to renumber and translate low-level APIC info to topology. More... | |
| HardwareTopology::SupportLevel | gmx::anonymous_namespace{hardwaretopology.cpp}::parseCpuInfo (HardwareTopology::Machine *machine) |
| Initialize machine data from basic information in cpuinfo. More... | |
| int | gmx::anonymous_namespace{hardwaretopology.cpp}::detectLogicalProcessorCount () |
| Try to detect the number of logical processors. More... | |
| std::vector< int > | gmx::anonymous_namespace{hardwaretopology.cpp}::parseCpuString (const std::string &cpuString) |
| Parse cpu list (integers) from string separated by commas and ranges. More... | |
| HardwareTopology::SupportLevel | gmx::anonymous_namespace{hardwaretopology.cpp}::parseSysFsCpuTopology (HardwareTopology::Machine *machine, const std::string &root="", ArrayRef< const int > allowedCpus={}) |
| Attempt to read basic topology from Linux sysfs interface. More... | |
| std::string | gmx::anonymous_namespace{hardwaretopology.cpp}::findCgroupPath (ArrayRef< const std::string > mountPoints, ArrayRef< const std::string > subGroups, const std::string &root) |
| Find the active cgroup path for the current process. More... | |
| float | gmx::anonymous_namespace{hardwaretopology.cpp}::parseCgroup1CpuLimit (ArrayRef< const std::string > mountPoints, const std::string &root="") |
| Parse cpu limits from cgroup version 1 file system on Linux. More... | |
| float | gmx::anonymous_namespace{hardwaretopology.cpp}::parseCgroup2CpuLimit (ArrayRef< const std::string > mountPoints, const std::string &root="") |
| Parse cpu limits from cgroup version 2 file system on Linux. More... | |
| float | gmx::anonymous_namespace{hardwaretopology.cpp}::detectCpuLimit (const std::string &root="") |
| int | gmx::anonymous_namespace{hardwaretopology.cpp}::setMaxThreads (float cpuLimit, int topologyCpus, int systemCpus) |
| std::string | gmx::hwlocDescription () |
| Returns information for describing the hwloc support. | |
1.8.5