Browse Source

add Control.TaskScheduler property

pull/197/head
Thomas Ibel 12 years ago
parent
commit
abcb95d102
  1. 7
      src/Numerics/Control.cs
  2. 2
      src/Numerics/Threading/CommonParallel.cs

7
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)); }
}
/// <summary>
/// Gets or sets the TaskScheduler used to schedule the worker tasks.
/// </summary>
public static TaskScheduler TaskScheduler { get; set; }
/// <summary>
/// Gets or sets the the block size to use for
/// the native linear algebra provider.

2
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,
};
}

Loading…
Cancel
Save