我想知道自从 5(!)年前问世以来,Mono.SIMD(或 Mono 中的 SIMD 支持)是否已经/是否有任何开发。我个人认为这是提高 c# 速度的重要一步。但是,我已经使用了一段时间了,我觉得 Mono.SIMD 落后了,因为很多功能都丢失了。
我面临的一些问题包括:
- 缺少点积,自 SSE4.1(2006 年问世,现在 70% 的计算机支持)以来,可以在 1 次操作中实现,而在 Mono.SIMD 中需要 3 次操作。除此之外,程序员必须为每个版本的 SSE 编写一个函数,这是 JIT 应该做的工作(因为它是专门为让程序员不再担心 CPU 版本而创建的)。
- 不可能添加/相乘 Vector4f 和 Vector4i(或任何其他不同的向量)。
- 没有正确转换向量(这些位似乎根本没有变化,所以结果非常奇怪,几乎完全没用)。
- 还有很多其他功能没有包括在内,例如四舍五入。
那么,有谁知道 Mono.SIMD 或 SIMD 支持是否发生了一般情况(如果是,是什么)?或者,有没有人知道解决上述任何问题的好方法?