/// <summary> /// Disable gathering of peak memory statistics of the MKL memory pool. /// </summary> public void DisablePeakMemoryStatistics() { if (SafeNativeMethods.query_capability((int)ProviderConfig.Memory) < 1) { throw new NotSupportedException("MKL Native Provider does not support memory management functions. Consider upgrading to a newer version."); } SafeNativeMethods.peak_mem_usage((int)MklMemoryRequestMode.Disable); }
/// <summary> /// Measures peak memory usage of the MKL memory pool. /// </summary> /// <param name="reset">Whether the usage counter should be reset.</param> /// <returns>The peak number of bytes allocated to all memory buffers.</returns> public long PeakMemoryStatistics(bool reset = true) { if (SafeNativeMethods.query_capability((int)ProviderConfig.Memory) < 1) { throw new NotSupportedException("MKL Native Provider does not support memory management functions. Consider upgrading to a newer version."); } return(SafeNativeMethods.peak_mem_usage((int)(reset ? MklMemoryRequestMode.PeakMemoryReset : MklMemoryRequestMode.PeakMemory))); }
/// <summary> /// Measures peak memory usage of the MKL memory pool. /// </summary> /// <param name="mode">The request mode.</param> /// <returns>The peak memory usage.</returns> public long PeakMemoryUsage(MklMemoryRequestMode mode) { return(SafeNativeMethods.peak_mem_usage((int)mode)); }