Functions
System configuration utilities

API to get information about the system, core processor capabilities. More...

Functions

bool InferenceEngine::checkOpenMpEnvVars (bool includeOMPNumThreads=true)
 Checks whether OpenMP environment variables are defined. More...
 
std::vector< int > InferenceEngine::getAvailableNUMANodes ()
 Returns available CPU NUMA nodes (on Linux, and Windows [only with TBB], single node is assumed on all other OSes) More...
 
std::vector< int > InferenceEngine::getAvailableCoresTypes ()
 Returns available CPU cores types (on Linux, and Windows) and ONLY with TBB, single core type is assumed otherwise. More...
 
int InferenceEngine::getNumberOfCPUCores (bool bigCoresOnly=false)
 Returns number of CPU physical cores on Linux/Windows (which is considered to be more performance friendly for servers) (on other OSes it simply relies on the original parallel API of choice, which usually uses the logical cores). call function with 'false' to get #phys cores of all types call function with 'true' to get #phys 'Big' cores number of 'Little' = 'all' - 'Big'. More...
 
bool InferenceEngine::with_cpu_x86_sse42 ()
 Checks whether CPU supports SSE 4.2 capability. More...
 
bool InferenceEngine::with_cpu_x86_avx ()
 Checks whether CPU supports AVX capability. More...
 
bool InferenceEngine::with_cpu_x86_avx2 ()
 Checks whether CPU supports AVX2 capability. More...
 
bool InferenceEngine::with_cpu_x86_avx512f ()
 Checks whether CPU supports AVX 512 capability. More...
 
bool InferenceEngine::with_cpu_x86_avx512_core ()
 Checks whether CPU supports AVX 512 capability. More...
 
bool InferenceEngine::with_cpu_x86_bfloat16 ()
 Checks whether CPU supports BFloat16 capability. More...
 

Detailed Description

API to get information about the system, core processor capabilities.

Function Documentation

◆ checkOpenMpEnvVars()

bool InferenceEngine::checkOpenMpEnvVars ( bool  includeOMPNumThreads = true)

Checks whether OpenMP environment variables are defined.

Parameters
[in]includeOMPNumThreadsIndicates if the omp number threads is included
Returns
True if any OpenMP environment variable is defined, false otherwise

◆ getAvailableCoresTypes()

std::vector<int> InferenceEngine::getAvailableCoresTypes ( )

Returns available CPU cores types (on Linux, and Windows) and ONLY with TBB, single core type is assumed otherwise.

Returns
Vector of core types

◆ getAvailableNUMANodes()

std::vector<int> InferenceEngine::getAvailableNUMANodes ( )

Returns available CPU NUMA nodes (on Linux, and Windows [only with TBB], single node is assumed on all other OSes)

Returns
NUMA nodes

◆ getNumberOfCPUCores()

int InferenceEngine::getNumberOfCPUCores ( bool  bigCoresOnly = false)

Returns number of CPU physical cores on Linux/Windows (which is considered to be more performance friendly for servers) (on other OSes it simply relies on the original parallel API of choice, which usually uses the logical cores). call function with 'false' to get #phys cores of all types call function with 'true' to get #phys 'Big' cores number of 'Little' = 'all' - 'Big'.

Parameters
[in]bigCoresOnlyAdditionally limits the number of reported cores to the 'Big' cores only.
Returns
Number of physical CPU cores.

◆ with_cpu_x86_avx()

bool InferenceEngine::with_cpu_x86_avx ( )

Checks whether CPU supports AVX capability.

Returns
True is AVX instructions are available, false otherwise

◆ with_cpu_x86_avx2()

bool InferenceEngine::with_cpu_x86_avx2 ( )

Checks whether CPU supports AVX2 capability.

Returns
True is AVX2 instructions are available, false otherwise

◆ with_cpu_x86_avx512_core()

bool InferenceEngine::with_cpu_x86_avx512_core ( )

Checks whether CPU supports AVX 512 capability.

Returns
True is AVX512F, AVX512BW, AVX512DQ instructions are available, false otherwise

◆ with_cpu_x86_avx512f()

bool InferenceEngine::with_cpu_x86_avx512f ( )

Checks whether CPU supports AVX 512 capability.

Returns
True is AVX512F (foundation) instructions are available, false otherwise

◆ with_cpu_x86_bfloat16()

bool InferenceEngine::with_cpu_x86_bfloat16 ( )

Checks whether CPU supports BFloat16 capability.

Returns
True is tAVX512_BF16 instructions are available, false otherwise

◆ with_cpu_x86_sse42()

bool InferenceEngine::with_cpu_x86_sse42 ( )

Checks whether CPU supports SSE 4.2 capability.

Returns
True is SSE 4.2 instructions are available, false otherwise