Если вы посмотрите в исходном коде System.numerics.matrix4x4 Класс .NET в рамках умножения и других функций, он выполняет, если проверяет, соответствует ли аппаратное обеспечение соответственно:
Код: Выделить всё
if (AdvSimd.Arm64.IsSupported) {} else if (Sse.IsSupported) {}
Но generic system.numerics.vector struct, кажется, делает все равно, в чем разница? Vector не просто заглядывает за кулисы и использует то, что доступно, а затем запасной программный обеспечение, если ни один из них не будет?
Подробнее здесь:
https://stackoverflow.com/questions/736 ... md-and-sse