TMtxVecController Class

Source: MtxVec.cs · Assembly: Dew.Math

public class TMtxVecController

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

Properties

NameTypeDescription
BlasThreadCountInt32Specifies the number of CPU cores to be used by the threaded algorithms internally.
CpuAVXBooleanReturns true if CPU supports AVX.
CpuAVX2BooleanReturns true if CPU supports AVX2.
CpuAVX512BWBooleanReturns true if CPU supports AVX512BW.
CpuAVX512CDBooleanReturns true if CPU supports AVX512CD.
CpuAVX512DQBooleanReturns true if CPU supports AVX512DQ.
CpuAVX512FBooleanReturns true if CPU supports AVX512F.
CpuCacheL1SizeInBytesInt32Returns the size of the CPU L1 cache in bytes per CPU Core.
CpuCacheL2SizeInBytesInt32Returns the size of the CPU L2 cache in bytes per CPU Core.
CpuCacheL3SizeInBytesInt32Returns the size of the CPU L3 cache in bytes across all CPU cores.
CpuCacheSizeInBytesInt32Returns the size of the CPU L3 cache in bytes.
CpuCoresInt32Returns the number of physical CPU cores per one Numa Node.
CpuCoresLogicalInt32Returns the number of (hyper-threaded) CPU cores across all NUMA nodes.
CpuCoresPhysicalInt32Returns the number of physical CPU cores across all NUMA nodes.
CpuFrequencyInMhzInt32Returns CPU frequency in Mhz, but takes about 2s to execute.
CpuNumaNodesInt32Returns the number of NUMA nodes (CPU sockets) in the system.
CpuSSE42BooleanReturns true if CPU supports SSE42.
CpuSSSE3BooleanReturns true if CPU supports SSSE3.
CpuTypeInt32Returns the CPU type.
CPUVendorStringCPU Vendor name. Intel or AMD.
DenormalsAreZeroBooleanIf true, the denormals will be rounded to 0.
FFTDescriptorCacheSizeInt32Specifies the numbe of FFT algorithm setups (descriptors) to keep stored in memory.
FftThreadCountInt32Specifies the number of CPU cores to be used by the threaded algorithms internally.
IppThreadCountInt32Specifies the number of CPU cores to be used by the threaded algorithms internally.
LapackThreadCountInt32Specifies the number of CPU cores to be used by the threaded algorithms internally.
MtxConditionCheckBooleanTrue when range checking is enabled for matrices.
SuperConductiveBooleanEnables thread congestion free CreateIt/FreeIt.
ThreadCountInt32Specifies the number of CPU cores to be used by the threaded algorithms internally.
ThreadDimensionInt32Specifies the maximum number of threads that object cache can serve.
ThreadingModeTMklThreadingModeSpecifies the threading for MtxVec.
ThreadWaitBeforeSleepInt32Specifies the thread waiting time before entering sleep in ms.
VecConditionCheckBooleanTrue when range checking is enabled for vectors.
VmlThreadCountInt32Specifies 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.
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.
UnMarkThreadWhen thread has finished using object cache, release it.
UnusedThreadDimensionReturns the number of unused thread dimensions.