Table of Contents

Class MatmulPlanCache

Namespace
NVMathNet.LinAlg
Assembly
NVMath.Net.dll

Process-wide cache of NVMathNet.LinAlg.Matmul planning results. When a NVMathNet.LinAlg.Matmul is planned with the same shape, data types, options, epilog configuration and preferences as an earlier one on the same device, the cuBLASLt heuristic is not queried again and the algorithm chosen by NVMathNet.LinAlg.Matmul.Autotune(System.IntPtr,System.IntPtr,System.IntPtr,System.IntPtr,System.Double,System.Double,System.Int32) (if any) is reused. Caching is enabled by default.

public static class MatmulPlanCache

Inheritance

Inherited Members

Properties

Count

Number of distinct planning results currently cached.

public static int Count { get; }

Property Value

int

Enabled

Whether planning results are cached. Default: true. Changing it does not clear the cache.

public static bool Enabled { get; set; }

Property Value

bool

Hits

Number of plans that were satisfied from the cache since the process started or NVMathNet.LinAlg.MatmulPlanCache.Clear was called.

public static long Hits { get; }

Property Value

long

MaxEntries

Maximum number of cached results (default 1024). When the limit is reached the cache is cleared, so programs with unboundedly many distinct shapes do not grow memory without limit.

public static int MaxEntries { get; set; }

Property Value

int

Misses

Number of plans that had to query cuBLASLt while caching was enabled.

public static long Misses { get; }

Property Value

long

Methods

Clear()

Removes all cached results and resets the hit and miss counters.

public static void Clear()