Поддерживает ли библиотека 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];
        }

        ...

0 ответов

Другие вопросы по тегам