/// <summary> /// Initializes static members of the Control class. /// </summary> static Control() { CheckDistributionParameters = true; ThreadSafeRandomNumberGenerators = true; DisableParallelization = false; #if PORTABLE LinearAlgebraProvider = new ManagedLinearAlgebraProvider(); #else try { const string name = "MathNetNumericsLAProvider"; var value = Environment.GetEnvironmentVariable(name); switch (value != null ? value.ToUpperInvariant() : string.Empty) { case "MKL": LinearAlgebraProvider = new Algorithms.LinearAlgebra.Mkl.MklLinearAlgebraProvider(); break; default: LinearAlgebraProvider = new ManagedLinearAlgebraProvider(); break; } } catch { // We don't care about any failures here at all LinearAlgebraProvider = new ManagedLinearAlgebraProvider(); } #endif }
public static void ConfigureAuto() { // Random Numbers & Distributions CheckDistributionParameters = true; ThreadSafeRandomNumberGenerators = true; // ToString & Formatting MaxToStringColumns = 6; MaxToStringRows = 8; // Parallelization & Threading _numberOfThreads = Environment.ProcessorCount; DisableParallelization = _numberOfThreads < 2; _blockSize = 512; _parallelizeOrder = 64; _parallelizeElements = 300; // Linear Algebra Provider #if NATIVEMKL try { const string name = "MathNetNumericsLAProvider"; var value = Environment.GetEnvironmentVariable(name); switch (value != null ? value.ToUpperInvariant() : string.Empty) { case "MKL": LinearAlgebraProvider = new Algorithms.LinearAlgebra.Mkl.MklLinearAlgebraProvider(); break; default: LinearAlgebraProvider = new ManagedLinearAlgebraProvider(); break; } } catch { // We don't care about any failures here at all LinearAlgebraProvider = new ManagedLinearAlgebraProvider(); } #else LinearAlgebraProvider = new ManagedLinearAlgebraProvider(); #endif }
public static void ConfigureAuto() { // Random Numbers & Distributions CheckDistributionParameters = true; ThreadSafeRandomNumberGenerators = true; // ToString & Formatting MaxToStringColumns = 6; MaxToStringRows = 8; // Parallelization & Threading _numberOfThreads = Environment.ProcessorCount; DisableParallelization = _numberOfThreads < 2; _blockSize = 512; _parallelizeOrder = 64; _parallelizeElements = 300; // Linear Algebra Provider #if NATIVEMKL try { const string name = "MathNetNumericsLAProvider"; var value = Environment.GetEnvironmentVariable(name); switch (value != null ? value.ToUpperInvariant() : string.Empty) { case "MKL": LinearAlgebraProvider = new Algorithms.LinearAlgebra.Mkl.MklLinearAlgebraProvider(); break; default: LinearAlgebraProvider = new ManagedLinearAlgebraProvider(); break; } } catch { // We don't care about any failures here at all LinearAlgebraProvider = new ManagedLinearAlgebraProvider(); } #else LinearAlgebraProvider = new ManagedLinearAlgebraProvider(); #endif }