From abcb95d10291569f06b03a40cb4e7632c24ab7ff Mon Sep 17 00:00:00 2001 From: Thomas Ibel Date: Tue, 25 Feb 2014 19:26:45 +0100 Subject: [PATCH] add Control.TaskScheduler property --- src/Numerics/Control.cs | 7 +++++++ src/Numerics/Threading/CommonParallel.cs | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/src/Numerics/Control.cs b/src/Numerics/Control.cs index 52dc2f8b..21bb583b 100644 --- a/src/Numerics/Control.cs +++ b/src/Numerics/Control.cs @@ -30,6 +30,7 @@ using MathNet.Numerics.Providers.LinearAlgebra; using System; +using System.Threading.Tasks; namespace MathNet.Numerics { @@ -64,6 +65,7 @@ namespace MathNet.Numerics _blockSize = 512; _parallelizeOrder = 64; _parallelizeElements = 300; + TaskScheduler = TaskScheduler.Default; // Linear Algebra Provider LinearAlgebraProvider = new ManagedLinearAlgebraProvider(); @@ -150,6 +152,11 @@ namespace MathNet.Numerics set { _numberOfThreads = Math.Max(1, Math.Min(1024, value)); } } + /// + /// Gets or sets the TaskScheduler used to schedule the worker tasks. + /// + public static TaskScheduler TaskScheduler { get; set; } + /// /// Gets or sets the the block size to use for /// the native linear algebra provider. diff --git a/src/Numerics/Threading/CommonParallel.cs b/src/Numerics/Threading/CommonParallel.cs index d8c12729..6e93d465 100644 --- a/src/Numerics/Threading/CommonParallel.cs +++ b/src/Numerics/Threading/CommonParallel.cs @@ -52,7 +52,7 @@ namespace MathNet.Numerics.Threading return new ParallelOptions { MaxDegreeOfParallelism = Control.NumberOfParallelWorkerThreads, - //TaskScheduler = Control.TaskScheduler, + TaskScheduler = Control.TaskScheduler, }; }