TMtxVecController Class

Header: Dew.Math/MtxVec.h · Cross-compiler
tObjectTMtxVecController

class TMtxVecController : public tObject;

Controlls the object cache and threading logic. Provides multi-threading functions for MtxVec.

Constructors

NameDescription
TMtxVecController

Destructors

NameDescription
~TMtxVecController

Properties

NameTypeDescription
BlasThreadCountintSpecifies the number of CPU cores to be used by the threaded algorithms internally.
CpuAVXboolReturns true if CPU supports AVX.
CpuAVX2boolReturns true if CPU supports AVX2.
CpuAVX512BWboolReturns true if CPU supports AVX512BW.
CpuAVX512CDboolReturns true if CPU supports AVX512CD.
CpuAVX512DQboolReturns true if CPU supports AVX512DQ.
CpuAVX512FboolReturns true if CPU supports AVX512F.
CpuCacheL1SizeInBytesintReturns the size of the CPU L1 cache in bytes per CPU Core.
CpuCacheL2SizeInBytesintReturns the size of the CPU L2 cache in bytes per CPU Core.
CpuCacheL3SizeInBytesintReturns the size of the CPU L3 cache in bytes across all CPU cores.
CpuCacheSizeInBytesintReturns the size of the CPU L3 cache in bytes.
CpuCoresintReturns the number of physical CPU cores per one Numa Node.
CpuCoresLogicalintReturns the number of (hyper-threaded) CPU cores across all NUMA nodes.
CpuCoresPhysicalintReturns the number of physical CPU cores across all NUMA nodes.
CpuFrequencyInMhzintReturns CPU frequency in Mhz, but takes about 2s to execute.
CpuNumaNodesintReturns the number of NUMA nodes (CPU sockets) in the system.
CpuSSE42boolReturns true if CPU supports SSE42.
CpuSSSE3boolReturns true if CPU supports SSSE3.
CpuTypeintReturns the CPU type.
CPUVendorDewStringCPU Vendor name. Intel or AMD.
DenormalsAreZeroboolIf true, the denormals will be rounded to 0.
FFTDescriptorCacheSizeintSpecifies the numbe of FFT algorithm setups (descriptors) to keep stored in memory.
FftThreadCountintSpecifies the number of CPU cores to be used by the threaded algorithms internally.
IppThreadCountintSpecifies the number of CPU cores to be used by the threaded algorithms internally.
LapackThreadCountintSpecifies the number of CPU cores to be used by the threaded algorithms internally.
MtxConditionCheckboolTrue when range checking is enabled for matrices.
SuperConductiveboolEnables thread congestion free CreateIt/FreeIt.
ThreadCountintSpecifies the number of CPU cores to be used by the threaded algorithms internally.
ThreadDimensionintSpecifies the maximum number of threads that object cache can serve.
ThreadingModeTMklThreadingModeSpecifies the threading for MtxVec.
ThreadWaitBeforeSleepintSpecifies the thread waiting time before entering sleep in ms.
VecConditionCheckboolTrue when range checking is enabled for vectors.
VmlThreadCountintSpecifies the number of CPU cores to be used by the threaded algorithms internally.

Methods

NameDescription
CpuFeaturesEnabledMatchAvailableReturns true if all CPU hardware features available are also enabled in the code.
CreateItx (4)
DoMarkThread
DoUnMarkThread
FreeItx (4)
GetPoolIndex
MarkThreadAssociates calling thread with object cache super conducting logic.
SetMtxCacheSizeDefines the object cache size for vectors.
SetMtxConditionCheckSetting condition check to false, will disable all range checks.
SetMtxIntCacheSizeDefines the object cache size for integervectors.
SetVecCacheSizeDefines the object cache size for vectors.
SetVecConditionCheckSetting condition check to false, will disable all range checks.
SetVecIntCacheSizeDefines the object cache size for integervectors.
UnMarkThread (2)When thread has finished using object cache, release it.
UnusedThreadDimensionReturns the number of unused thread dimensions.

Fields

NameTypeDescription
JitCacheTMtxMulJitCache *
PoolDewArray<TMtxVecPoolItem *>