#include <cpu_features.h>
Data Fields | |
| float | base_freq_mhz |
| int | cores_per_socket |
| int | family |
| bool | has_amx |
| bool | has_amx_bf16 |
| bool | has_amx_int8 |
| bool | has_amx_tile |
| int | has_avx |
| bool | has_avx |
| int | has_avx2 |
| bool | has_avx2 |
| bool | has_avx512_bf16 |
| bool | has_avx512bw |
| int | has_avx512f |
| bool | has_avx512f |
| bool | has_avx512vl |
| int | has_fma |
| bool | has_sse4_2 |
| bool | has_vnni |
| size_t | l1_line_size |
| size_t | l1d_size |
| size_t | l2_size |
| size_t | l3_size |
| int | logical_cores |
| float | max_freq_mhz |
| int | model |
| char | model_name [256] |
| int | num_cores |
| int | pcie_generation |
| int | pcie_lanes_total |
| int | physical_cores |
| int | sockets |
| int | stepping |
| int | threads_per_core |
| char | vendor [64] |
CPU Feature Detection and Cache-Aware Parameter Tuning
This module detects CPU cache sizes at runtime and computes optimal GEMM blocking parameters based on the BLIS/oneDNN methodology.
Key formulas:
Definition at line 20 of file cpu_features.h.
| float CPUInfo::base_freq_mhz |
Definition at line 47 of file system_topology.h.
Referenced by topology_discover_cpu(), and topology_print_cpu().
| int CPUInfo::cores_per_socket |
Definition at line 44 of file system_topology.h.
Referenced by topology_discover_cpu().
| int CPUInfo::family |
Definition at line 37 of file system_topology.h.
Referenced by topology_discover_cpu().
| bool CPUInfo::has_amx |
Definition at line 58 of file system_topology.h.
Referenced by topology_discover_cpu(), and topology_print_cpu().
| bool CPUInfo::has_amx_bf16 |
Definition at line 61 of file system_topology.h.
Referenced by topology_discover_cpu(), and topology_print_cpu().
| bool CPUInfo::has_amx_int8 |
Definition at line 60 of file system_topology.h.
Referenced by topology_discover_cpu(), and topology_print_cpu().
| bool CPUInfo::has_amx_tile |
Definition at line 59 of file system_topology.h.
Referenced by topology_discover_cpu().
| int CPUInfo::has_avx |
Definition at line 26 of file cpu_features.h.
Referenced by compute_gemm_params(), print_cpu_info(), topology_discover_cpu(), and topology_print_cpu().
| bool CPUInfo::has_avx |
Definition at line 52 of file system_topology.h.
| int CPUInfo::has_avx2 |
Definition at line 27 of file cpu_features.h.
Referenced by compute_gemm_params(), print_cpu_info(), topology_discover_cpu(), topology_generate_recommendations(), topology_print_cpu(), and topology_print_distributed_potential().
| bool CPUInfo::has_avx2 |
Definition at line 53 of file system_topology.h.
| bool CPUInfo::has_avx512_bf16 |
Definition at line 57 of file system_topology.h.
Referenced by topology_discover_cpu(), and topology_print_cpu().
| bool CPUInfo::has_avx512bw |
Definition at line 55 of file system_topology.h.
Referenced by topology_discover_cpu(), and topology_print_cpu().
| int CPUInfo::has_avx512f |
Definition at line 28 of file cpu_features.h.
Referenced by compute_gemm_params(), print_cpu_info(), topology_discover_cpu(), topology_print_cpu(), and topology_print_distributed_potential().
| bool CPUInfo::has_avx512f |
Definition at line 54 of file system_topology.h.
| bool CPUInfo::has_avx512vl |
Definition at line 56 of file system_topology.h.
Referenced by topology_discover_cpu(), and topology_print_cpu().
| int CPUInfo::has_fma |
Definition at line 29 of file cpu_features.h.
Referenced by compute_gemm_params(), and print_cpu_info().
| bool CPUInfo::has_sse4_2 |
Definition at line 51 of file system_topology.h.
Referenced by topology_discover_cpu(), and topology_print_cpu().
| bool CPUInfo::has_vnni |
Definition at line 62 of file system_topology.h.
Referenced by topology_discover_cpu(), and topology_print_cpu().
| size_t CPUInfo::l1_line_size |
Definition at line 24 of file cpu_features.h.
Referenced by print_cpu_info().
| size_t CPUInfo::l1d_size |
Definition at line 21 of file cpu_features.h.
Referenced by compute_gemm_params(), cpu_features_init(), and print_cpu_info().
| size_t CPUInfo::l2_size |
Definition at line 22 of file cpu_features.h.
Referenced by compute_gemm_params(), and print_cpu_info().
| size_t CPUInfo::l3_size |
Definition at line 23 of file cpu_features.h.
Referenced by compute_gemm_params(), and print_cpu_info().
| int CPUInfo::logical_cores |
Definition at line 42 of file system_topology.h.
Referenced by topology_discover_cpu(), topology_print_cpu(), and topology_print_summary().
| float CPUInfo::max_freq_mhz |
Definition at line 48 of file system_topology.h.
Referenced by topology_discover_cpu(), and topology_print_cpu().
| int CPUInfo::model |
Definition at line 38 of file system_topology.h.
Referenced by topology_discover_cpu().
| char CPUInfo::model_name[256] |
Definition at line 35 of file system_topology.h.
Referenced by topology_discover_cpu(), and topology_print_cpu().
| int CPUInfo::num_cores |
Definition at line 25 of file cpu_features.h.
Referenced by compute_gemm_params(), cpu_features_init(), gemm_init_threads(), and print_cpu_info().
| int CPUInfo::pcie_generation |
Definition at line 66 of file system_topology.h.
Referenced by topology_discover_cpu(), and topology_print_cpu().
| int CPUInfo::pcie_lanes_total |
Definition at line 65 of file system_topology.h.
Referenced by topology_discover_cpu(), and topology_print_cpu().
| int CPUInfo::physical_cores |
Definition at line 41 of file system_topology.h.
Referenced by topology_discover_cpu(), topology_print_cpu(), and topology_print_distributed_potential().
| int CPUInfo::sockets |
Definition at line 43 of file system_topology.h.
Referenced by topology_discover_cpu(), topology_print_cpu(), and topology_print_summary().
| int CPUInfo::stepping |
Definition at line 39 of file system_topology.h.
Referenced by topology_discover_cpu().
| int CPUInfo::threads_per_core |
Definition at line 45 of file system_topology.h.
Referenced by topology_discover_cpu(), and topology_print_cpu().
| char CPUInfo::vendor[64] |
Definition at line 36 of file system_topology.h.
Referenced by topology_discover_cpu().