From 1a1a7ff293657a32c551af621b13afb58845af55 Mon Sep 17 00:00:00 2001 From: Christoph Ruegg Date: Sun, 25 Feb 2018 09:35:40 +0100 Subject: [PATCH] LA: managed provider no longer parallelize simple addition loops --- .../ManagedLinearAlgebraProvider.Double.cs | 29 +++++++------------ .../ManagedLinearAlgebraProvider.Single.cs | 29 +++++++------------ .../Managed/ManagedLinearAlgebraProvider.cs | 6 ---- .../ManagedReferenceLinearAlgebraProvider.cs | 6 ---- 4 files changed, 20 insertions(+), 50 deletions(-) diff --git a/src/Numerics/Providers/LinearAlgebra/Managed/ManagedLinearAlgebraProvider.Double.cs b/src/Numerics/Providers/LinearAlgebra/Managed/ManagedLinearAlgebraProvider.Double.cs index 1f29674b..5d10928c 100644 --- a/src/Numerics/Providers/LinearAlgebra/Managed/ManagedLinearAlgebraProvider.Double.cs +++ b/src/Numerics/Providers/LinearAlgebra/Managed/ManagedLinearAlgebraProvider.Double.cs @@ -3,7 +3,7 @@ // http://numerics.mathdotnet.com // http://github.com/mathnet/mathnet-numerics // -// Copyright (c) 2009-2015 Math.NET +// Copyright (c) 2009-2018 Math.NET // // Permission is hereby granted, free of charge, to any person // obtaining a copy of this software and associated documentation @@ -71,13 +71,10 @@ namespace MathNet.Numerics.Providers.LinearAlgebra.Managed } else if (alpha == 1.0) { - CommonParallel.For(0, y.Length, 4096, (a, b) => + for (int i = 0; i < result.Length; i++) { - for (int i = a; i < b; i++) - { - result[i] = y[i] + x[i]; - } - }); + result[i] = y[i] + x[i]; + } } else { @@ -209,13 +206,10 @@ namespace MathNet.Numerics.Providers.LinearAlgebra.Managed throw new ArgumentException(Resources.ArgumentVectorsSameLength); } - CommonParallel.For(0, y.Length, 4096, (a, b) => + for (int i = 0; i < result.Length; i++) { - for (int i = a; i < b; i++) - { - result[i] = x[i] + y[i]; - } - }); + result[i] = x[i] + y[i]; + } } /// @@ -250,13 +244,10 @@ namespace MathNet.Numerics.Providers.LinearAlgebra.Managed throw new ArgumentException(Resources.ArgumentVectorsSameLength); } - CommonParallel.For(0, y.Length, 4096, (a, b) => + for (int i = 0; i < result.Length; i++) { - for (int i = a; i < b; i++) - { - result[i] = x[i] - y[i]; - } - }); + result[i] = x[i] - y[i]; + } } /// diff --git a/src/Numerics/Providers/LinearAlgebra/Managed/ManagedLinearAlgebraProvider.Single.cs b/src/Numerics/Providers/LinearAlgebra/Managed/ManagedLinearAlgebraProvider.Single.cs index 1e8fbd3c..7a47abae 100644 --- a/src/Numerics/Providers/LinearAlgebra/Managed/ManagedLinearAlgebraProvider.Single.cs +++ b/src/Numerics/Providers/LinearAlgebra/Managed/ManagedLinearAlgebraProvider.Single.cs @@ -3,7 +3,7 @@ // http://numerics.mathdotnet.com // http://github.com/mathnet/mathnet-numerics // -// Copyright (c) 2009-2015 Math.NET +// Copyright (c) 2009-2018 Math.NET // // Permission is hereby granted, free of charge, to any person // obtaining a copy of this software and associated documentation @@ -71,13 +71,10 @@ namespace MathNet.Numerics.Providers.LinearAlgebra.Managed } else if (alpha == 1.0) { - CommonParallel.For(0, y.Length, 4096, (a, b) => + for (int i = 0; i < result.Length; i++) { - for (int i = a; i < b; i++) - { - result[i] = y[i] + x[i]; - } - }); + result[i] = y[i] + x[i]; + } } else { @@ -209,13 +206,10 @@ namespace MathNet.Numerics.Providers.LinearAlgebra.Managed throw new ArgumentException(Resources.ArgumentVectorsSameLength); } - CommonParallel.For(0, y.Length, 4096, (a, b) => + for (int i = 0; i < result.Length; i++) { - for (int i = a; i < b; i++) - { - result[i] = x[i] + y[i]; - } - }); + result[i] = x[i] + y[i]; + } } /// @@ -250,13 +244,10 @@ namespace MathNet.Numerics.Providers.LinearAlgebra.Managed throw new ArgumentException(Resources.ArgumentVectorsSameLength); } - CommonParallel.For(0, y.Length, 4096, (a, b) => + for (int i = 0; i < result.Length; i++) { - for (int i = a; i < b; i++) - { - result[i] = x[i] - y[i]; - } - }); + result[i] = x[i] - y[i]; + } } /// diff --git a/src/Numerics/Providers/LinearAlgebra/Managed/ManagedLinearAlgebraProvider.cs b/src/Numerics/Providers/LinearAlgebra/Managed/ManagedLinearAlgebraProvider.cs index 681f957b..93e5e7df 100644 --- a/src/Numerics/Providers/LinearAlgebra/Managed/ManagedLinearAlgebraProvider.cs +++ b/src/Numerics/Providers/LinearAlgebra/Managed/ManagedLinearAlgebraProvider.cs @@ -31,12 +31,6 @@ using System; namespace MathNet.Numerics.Providers.LinearAlgebra.Managed { - internal enum Variation - { - Original, - Experimental - } - /// /// The managed linear algebra provider. /// diff --git a/src/Numerics/Providers/LinearAlgebra/ManagedReference/ManagedReferenceLinearAlgebraProvider.cs b/src/Numerics/Providers/LinearAlgebra/ManagedReference/ManagedReferenceLinearAlgebraProvider.cs index f0b4952b..2cb29b40 100644 --- a/src/Numerics/Providers/LinearAlgebra/ManagedReference/ManagedReferenceLinearAlgebraProvider.cs +++ b/src/Numerics/Providers/LinearAlgebra/ManagedReference/ManagedReferenceLinearAlgebraProvider.cs @@ -31,12 +31,6 @@ using System; namespace MathNet.Numerics.Providers.LinearAlgebra.ManagedReference { - internal enum Variation - { - Original, - Experimental - } - /// /// The managed linear algebra provider. ///