21.08
|
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 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... | |
bool | model_supports_sve (CpuModel model) |
Check if a model supports SVE. 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 135 of file CpuIsaInfo.cpp.
References midr_to_model().
Referenced by CpuInfo::build().
CpuIsaInfo init_cpu_isa_from_regs | ( | uint64_t | isar0, |
uint64_t | isar1, | ||
uint64_t | pfr0, | ||
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] | svefr0 | Value of SVE feature ID register 0 (ID_AA64ZFR0_EL1) |
[in] | midr | Value of Main ID Register (MIDR) |
Definition at line 147 of file CpuIsaInfo.cpp.
References 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 92 of file CpuModel.cpp.
References arm_compute::A510, arm_compute::A53, arm_compute::A55r0, arm_compute::A55r1, arm_compute::A64FX, arm_compute::A73, arm_compute::GENERIC, arm_compute::GENERIC_FP16, arm_compute::GENERIC_FP16_DOT, arm_compute::V1, and arm_compute::X1.
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 whitelisted capabilities |
Definition at line 63 of file CpuModel.cpp.
References arm_compute::A510, arm_compute::A55r1, arm_compute::A64FX, arm_compute::GENERIC_FP16_DOT, arm_compute::V1, and arm_compute::X1.
bool model_supports_fp16 | ( | CpuModel | model | ) |
Check if a model supports half-precision floating point arithmetic.
[in] | model | Model to check for whitelisted capabilities |
Definition at line 46 of file CpuModel.cpp.
References arm_compute::A510, arm_compute::A55r1, arm_compute::A64FX, arm_compute::GENERIC_FP16, arm_compute::GENERIC_FP16_DOT, arm_compute::V1, and arm_compute::X1.
bool model_supports_sve | ( | CpuModel | model | ) |
Check if a model supports SVE.
[in] | model | Model to check for whitelisted capabilities |
Definition at line 79 of file CpuModel.cpp.
References arm_compute::A510, arm_compute::A64FX, and arm_compute::V1.
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 362 of file CpuInfo.cpp.
References ARM_COMPUTE_ERROR_ON_MSG, ARM_COMPUTE_UNUSED, CpuInfo::cpus(), arm_compute::mlgo::parser::end(), and arm_compute::wrapper::vmin().
Referenced by CpuInfo::cpus(), and IScheduler::IScheduler().