/// <summary> /// Try to use the Intel MKL native provider for linear algebra. /// </summary> /// <returns> /// True if the provider was found and initialized successfully. /// False if it failed and the previous provider is still active. /// </returns> public static bool TryUseNativeMKL() { bool linearAlgebra = MklLinearAlgebraControl.TryUseNativeMKL(); bool fourierTransform = MklFourierTransformControl.TryUseNativeMKL(); bool directSparseSolver = MklSparseSolverControl.TryUseNativeMKL(); return(linearAlgebra || fourierTransform || directSparseSolver); }
/// <summary> /// Use the Intel MKL native provider for linear algebra, with the specified configuration parameters. /// Throws if it is not available or failed to initialize, in which case the previous provider is still active. /// </summary> public static void UseNativeMKL( MklConsistency consistency = MklConsistency.Auto, MklPrecision precision = MklPrecision.Double, MklAccuracy accuracy = MklAccuracy.High) { MklLinearAlgebraControl.UseNativeMKL(consistency, precision, accuracy); MklFourierTransformControl.UseNativeMKL(); MklSparseSolverControl.UseNativeMKL(); }
/// <summary> /// Use the Intel MKL native provider for linear algebra. /// Throws if it is not available or failed to initialize, in which case the previous provider is still active. /// </summary> public static void UseNativeMKL() { MklLinearAlgebraControl.UseNativeMKL(); MklFourierTransformControl.UseNativeMKL(); MklSparseSolverControl.UseNativeMKL(); }