Поддерживает ли библиотека MathNet.Numerics SIMD?
Я искал библиотеку C#, которая поддерживает минимальные векторные и матричные операции, и обнаружил, что System.Numerics делает именно это с помощью SIMD. Просто ради любопытства, поддерживает ли сторонняя математическая библиотека, например MathNet.Numerics, SIMD? Изучая реализацию в github, я обнаружил, что он использует только массив для объединения некоторых значений. Я взял этот код ниже из реализации класса DenseVectorStorage. Я уверен, что они будут использовать SIMD в некотором роде, но я не смог найти никаких подсказок об использовании SIMD из кода.
namespace MathNet.Numerics.LinearAlgebra.Storage
{
[Serializable]
[DataContract(Namespace = "urn:MathNet/Numerics/LinearAlgebra")]
public class DenseVectorStorage<T> : VectorStorage<T>
where T : struct, IEquatable<T>, IFormattable
{
// [ruegg] public fields are OK here
[DataMember(Order = 1)]
public readonly T[] Data;
internal DenseVectorStorage(int length)
: base(length)
{
Data = new T[length];
}
...