ManagedCoreProvider Class

Encapsulates the currently active BLAS implementation.

Definition

Namespace: Extreme.Providers
Assembly: Extreme.Numerics (in Extreme.Numerics.dll) Version: 8.1.23
C#
public sealed class ManagedCoreProvider : CoreProvider<double>, 
	IParallelized
Inheritance
Object  →  ImplementationProvider  →  CoreProvider<Double>  →  ManagedCoreProvider
Implements
IParallelized

Remarks

The classes in the Extreme.Mathematics.LinearAlgebra namespace use the standard Basic Linear Algebra Subroutines (BLAS) whenever possible. The Extreme Optimization Mathematics Library for .NET provides two implementations. One is in 100% managed code. The other calls a native, highly optimized, processor-specific kernel.

This class exposes properties that allow you to specify the BLAS objects that are to be used by the classes in this namespace.

You can select the managed implementation by calling the UseManaged() method. To select the native implementation, call the UseNative() method. The native kernel is used by default. This is the fastest option, especially for larger matrices, but also has a larger memory footprint.

Constructors

ManagedCoreProvider Constructs a new ManagedCoreProvider.

Properties

ArrayFunctions Gets or sets the current implementation of array functions for double-precision arguments.
(Overrides CoreProvider<T>.ArrayFunctions)
ComplexArrayFunctions Gets or sets the current implementation of array functions for double-precision arguments.
(Overrides CoreProvider<T>.ComplexArrayFunctions)
DecompositionOperations Gets the LAPACK implementation for double-precision arguments.
(Overrides CoreProvider<T>.DecompositionOperations)
Fft Gets or sets the current FFT provider implementation for double-precision arguments.
(Overrides CoreProvider<T>.Fft)
HasSharedDegreeOfParallelism Indicates whether the degree of parallelism is a property that is shared across instances.
(Overrides CoreProvider<T>.HasSharedDegreeOfParallelism)
LinearAlgebraOperations Gets the implementation of the BLAS for double-precision arguments.
(Overrides CoreProvider<T>.LinearAlgebraOperations)
MaxDegreeOfParallelism Gets or sets the maximum degree of parallelism enabled by this instance.
(Inherited from CoreProvider<T>)
SparseLinearAlgebra Gets the implementation of the sparse BLAS for double-precision arguments.
(Overrides CoreProvider<T>.SparseLinearAlgebra)

Methods

Add Adds the specified implementation to the provider's collection of implementations.
(Inherited from ImplementationProvider)
EqualsDetermines whether the specified object is equal to the current object.
(Inherited from Object)
GetAllImplementations<T> Enumerates all implementations of the specified type that are available from the provider.
(Overrides ImplementationProvider.GetAllImplementations<T>())
GetHashCodeServes as the default hash function.
(Inherited from Object)
GetImplementation<T> Returns an implementation of the specified type.
(Inherited from ImplementationProvider)
GetTypeGets the Type of the current instance.
(Inherited from Object)
ToStringReturns a string that represents the current object.
(Inherited from Object)
WithMaxDegreeOfParallelism Returns a provider with the specified maximum degree of parallelism.

See Also