Exemplo n.º 1
0
        /// <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
        }
Exemplo n.º 2
0
        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
        }
Exemplo n.º 3
0
        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
        }