24.02.1
|
Data Structures | |
class | CpuInfo |
Aggregate class that contains CPU related information. More... | |
struct | CpuIsaInfo |
CPU ISA (Instruction Set Architecture) information. More... | |
Typedefs | |
using | CpuModel = arm_compute::CPUModel |
Functions | |
uint32_t | num_threads_hint () |
Some systems have both big and small cores, this fuction computes the minimum number of cores that are exactly the same on the system. More... | |
CpuIsaInfo | init_cpu_isa_from_hwcaps (uint32_t hwcaps, uint32_t hwcaps2, uint32_t midr) |
Identify ISA related information through system information. More... | |
CpuIsaInfo | init_cpu_isa_from_regs (uint64_t isar0, uint64_t isar1, uint64_t pfr0, uint64_t pfr1, uint64_t svefr0, uint64_t midr) |
Identify ISA related information through register information. More... | |
std::string | cpu_model_to_string (CpuModel model) |
Convert a CPU model value to a string. More... | |
bool | model_supports_fp16 (CpuModel model) |
Check if a model supports half-precision floating point arithmetic. More... | |
bool | model_supports_dot (CpuModel model) |
Check if a model supports dot product. More... | |
CpuModel | midr_to_model (uint32_t midr) |
Extract the model type from the MIDR value. More... | |
using CpuModel = arm_compute::CPUModel |
Definition at line 36 of file CpuModel.h.
std::string cpu_model_to_string | ( | CpuModel | model | ) |
Convert a CPU model value to a string.
model | CpuModel value to be converted |
Definition at line 30 of file CpuModel.cpp.
References ARM_COMPUTE_CPU_MODEL_LIST.
Referenced by main().
CpuIsaInfo init_cpu_isa_from_hwcaps | ( | uint32_t | hwcaps, |
uint32_t | hwcaps2, | ||
uint32_t | midr | ||
) |
Identify ISA related information through system information.
[in] | hwcaps | HWCAPS feature information |
[in] | hwcaps2 | HWCAPS2 feature information |
[in] | midr | MIDR value |
Definition at line 142 of file CpuIsaInfo.cpp.
References isa, and midr_to_model().
Referenced by CpuInfo::build().
CpuIsaInfo init_cpu_isa_from_regs | ( | uint64_t | isar0, |
uint64_t | isar1, | ||
uint64_t | pfr0, | ||
uint64_t | pfr1, | ||
uint64_t | svefr0, | ||
uint64_t | midr | ||
) |
Identify ISA related information through register information.
[in] | isar0 | Value of Instruction Set Attribute Register 0 (ID_AA64ISAR0_EL1) |
[in] | isar1 | Value of Instruction Set Attribute Register 1 (ID_AA64ISAR1_EL1) |
[in] | pfr0 | Value of Processor Feature Register 0 (ID_AA64PFR0_EL1) |
[in] | pfr1 | Value of Processor Feature Register 1 (ID_AA64PFR1_EL1) |
[in] | svefr0 | Value of SVE feature ID register 0 (ID_AA64ZFR0_EL1) |
[in] | midr | Value of Main ID Register (MIDR) |
Definition at line 155 of file CpuIsaInfo.cpp.
References isa, and midr_to_model().
Referenced by CpuInfo::build().
CpuModel midr_to_model | ( | uint32_t | midr | ) |
Extract the model type from the MIDR value.
[in] | midr | MIDR information |
Definition at line 80 of file CpuModel.cpp.
Referenced by CpuInfo::build(), init_cpu_isa_from_hwcaps(), and init_cpu_isa_from_regs().
bool model_supports_dot | ( | CpuModel | model | ) |
Check if a model supports dot product.
[in] | model | Model to check for allowlisted capabilities |
Definition at line 64 of file CpuModel.cpp.
bool model_supports_fp16 | ( | CpuModel | model | ) |
Check if a model supports half-precision floating point arithmetic.
[in] | model | Model to check for allowlisted capabilities |
Definition at line 46 of file CpuModel.cpp.
uint32_t num_threads_hint | ( | ) |
Some systems have both big and small cores, this fuction computes the minimum number of cores that are exactly the same on the system.
To maximize performance the library attempts to process workloads concurrently using as many threads as big cores are available on the system.
Definition at line 403 of file CpuInfo.cpp.
References ARM_COMPUTE_ERROR_ON_MSG, ARM_COMPUTE_UNUSED, arm_compute::mlgo::parser::end(), and arm_compute::wrapper::vmin().
Referenced by IScheduler::IScheduler().