Mono中的SIMD还有什么发展吗?

me *_* me 8 c# mono sse simd

我想知道自从5年(5年前)出现以来Mono.SIMD(或Mono内部的SIMD支持)是否有任何开发.我个人认为这是提高c#速度的重要一步.但是,我已经使用了一段时间了,我觉得Mono.SIMD落后了,因为很多功能都缺失了.

我面临的一些问题包括:

  1. 缺少点积,自SSE4.1(2006年出现,现在70%的计算机支持)以来可以在1次操作中实现,而在Mono.SIMD中需要3次操作.除此之外,程序员必须为每个版本的SSE编写一个函数,这是JIT应该做的工作(因为它是专门为了让程序员不再担心CPU版本而创建的).
  2. 不可能添加/乘以Vector4f和Vector4i(或任何其他不同的矢量).
  3. 没有适当的矢量投射(这些位似乎没有变化,所以结果非常奇怪,几乎完全没用).
  4. 很多其他功能都没有包括在内,比如四舍五入.

那么,有没有人知道Mono.SIMD或SIMD支持是否正在发生某些事情(如果是这样的话)?或者,或者,有人知道提到的任何问题的良好解决方案吗?

kon*_*ski 4

AFAIR 开发尚未进行。该项目是开源的,机制也不太复杂,因此可以改进当前的实现。我考虑添加一些说明,但像往常一样,没有足够的时间来做到这一点(申请最终也被取消)。您可能有兴趣查看该线程:http://lists.ximian.com/pipermail/mono-devel-list/2012-February/038632.html