27 #ifndef RUNCPUSETTINGS_H_
28 #define RUNCPUSETTINGS_H_
36 #if defined(COMPILING_FOR_ARM)
42 #define AVX_256_DEFINE 0
43 #define AVX_256_F16_DEFINE 1
44 #define AVX_512_DEFINE 2
45 #define AVX_512_F16_DEFINE 3
47 #define NO_VECTORIZATION 5
48 #if defined(COMPILING_FOR_ARM)
49 #define CPU_VECTORIZATION_DEFINE NEON_DEFINE
53 #if defined(AVX_512_VECTORIZATION)
54 #define CPU_VECTORIZATION_DEFINE AVX_512_DEFINE
55 #elif defined(AVX_512_F16_VECTORIZATION)
56 #define CPU_VECTORIZATION_DEFINE AVX_512_F16_DEFINE
57 #elif defined(AVX_256_VECTORIZATION)
58 #define CPU_VECTORIZATION_DEFINE AVX_256_DEFINE
59 #elif defined(AVX_256_F16_VECTORIZATION)
60 #define CPU_VECTORIZATION_DEFINE AVX_256_F16_DEFINE
62 #define CPU_VECTORIZATION_DEFINE AVX_512_DEFINE
86 #if defined(DEFAULT_PARALLEL_PARAMS_ONLY)
92 #elif defined(LIMITED_ALT_PARALLEL_PARAMS)
Namespace with CPU run defaults and constants.
constexpr std::string_view kSimulateSingleCPU
Constant that specifies that run is simulating single CPU on a dual-CPU system.
const unsigned int kNumThreadsCPU
Constant corresponding to number of threads on CPU.
const std::array< unsigned int, 2 > kParallelParamsDefault
Default parallel parameters setting on CPU.
const unsigned int kMinNumThreadsRun
Minimum number of threads to allow for any parallel parameters setting on CPU.
const std::set< std::array< unsigned int, 2 > > kParallelParameterAltOptions
Parallel parameters options that are tested in order to find optimized configuration in run....