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 MatmulPlanCacheInheritance
Inherited Members
Properties
Count
Number of distinct planning results currently cached.
public static int Count { get; }Property Value
Enabled
Whether planning results are cached. Default: true. Changing it does not clear the cache.
public static bool Enabled { get; set; }Property Value
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
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
Misses
Number of plans that had to query cuBLASLt while caching was enabled.
public static long Misses { get; }Property Value
Methods
Clear()
Removes all cached results and resets the hit and miss counters.
public static void Clear()