c# - 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];
}
...
解决方案
推荐阅读
- haskell - 递归数据类型二叉树的后序遍历
- nsis - 如何使用 NSIS 将子目录及其内容移动到另一个目录
- postgresql - 应用引擎的 Spring Boot 实例不断重新连接到 postgres google sql
- javascript - Vue多选不允许创建新标签
- odoo - 字段不存在 ODOO
- c - 在 C 递归中使用 char 输入
- apache-kafka - Spring kafka 不重试未提交的偏移量
- authentication - 验证 HTTP 请求的来源
- spring-boot - @EnableWebFlux 和 thymeleaf 不能一起工作
- ruby-on-rails - 如何将哈希中的数据显示到表格中?