35 cpuinfo::CpuInfo
info{};
36 unsigned int L1_cache_size = 32768;
37 unsigned int L2_cache_size = 262144;
47 : _impl(std::make_unique<Impl>())
52 CPUInfo::~CPUInfo() =
default;
56 return _impl->info.num_cpus();
61 return _impl->info.has_fp16();
66 return _impl->info.has_bf16();
71 return _impl->info.has_svebf16();
76 return _impl->info.has_dotprod();
81 return _impl->info.has_svef32mm();
86 return _impl->info.has_i8mm();
91 return _impl->info.has_svei8mm();
96 return _impl->info.has_sve();
101 return _impl->info.has_sve2();
106 return _impl->info.has_sme();
111 return _impl->info.has_sme2();
116 return _impl->info.cpu_model();
121 return _impl->info.cpu_model(cpuid);
126 return _impl->info.isa();
131 return _impl->L1_cache_size;
136 return _impl->L2_cache_size;
bool has_sve() const
Checks if the cpu model supports sve.
static CpuInfo build()
CpuInfo builder function from system related information.
bool has_bf16() const
Checks if the cpu model supports bf16.
bool has_sme() const
Checks if the cpu model supports sme.
bool has_svei8mm() const
Checks if the cpu model supports integer matrix multiplication.
bool has_svef32mm() const
Checks if the cpu model supports floating-point matrix multiplication.
bool has_fp16() const
Checks if the cpu model supports fp16.
CPUModel
CPU models types.
Copyright (c) 2017-2023 Arm Limited.
CPU ISA (Instruction Set Architecture) information.
bool has_sve2() const
Checks if the cpu model supports sve2.
bool has_sme2() const
Checks if the cpu model supports sme2.
bool has_dotprod() const
Checks if the cpu model supports dot product.
unsigned int get_cpu_num() const
Return the maximum number of CPUs present.
unsigned int get_L1_cache_size() const
Gets the L1 cache size.
unsigned int get_L2_cache_size() const
Gets the L2 cache size.
ScaleKernelInfo info(interpolation_policy, default_border_mode, PixelValue(), sampling_policy, false)
CPUModel get_cpu_model() const
Gets the current thread's cpu model.
static CPUInfo & get()
Access the KernelLibrary singleton.
bool has_svebf16() const
Checks if the cpu model supports bf16.
bool has_i8mm() const
Checks if the cpu model supports integer matrix multiplication.
cpuinfo::CpuIsaInfo get_isa() const
Gets the current cpu's ISA information.