首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >.NET框架4.5提供SSE4 4/AVX支持吗?

.NET框架4.5提供SSE4 4/AVX支持吗?
EN

Stack Overflow用户
提问于 2012-05-27 14:55:15
回答 3查看 2.9K关注 0票数 5

我想,我听说了,但不知道在哪里。

upd:我告诉过JiT

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-05-14 15:41:05

好像要来了。(我一小时前才发现)

这里有几个链接

JIT最终提出了。JIT和SIMD要结婚了。

更新到SIMD支持

您需要最新版本的RyuJIT

Microsoft SIMD支持向量类型 (Nuget)

票数 3
EN

Stack Overflow用户

发布于 2012-05-27 17:15:18

不,在.NET中没有可以自己编写机器代码的场景。代码生成完全取决于即时编译器.它当然能够根据机器处理器的能力定制它的代码生成。ngen.exe必须始终在目标计算机上运行的主要原因之一。不管.NET 4.5中的紧张情绪是为了利用sse4还是avx而被调整的,我还没有听说过任何关于它的消息。我对此表示怀疑,微软除了修复bug之外,并没有很大程度上改变这种紧张情绪。非常不稳定和4.5不是一个并行版本。

然而,VS-11确实有一个更新的C++代码生成器。它能够自动矢量化循环,并使用SIMD/AVX指令这样做。这个博客帖子提到它,一个简短的视频是可在这里找到

更新:新的x64抖动器,目前在CTP和代号为RyuJIT,包括一些基本的支持SIMD指令。SSE2类,提供自动矢量化.但是,它被锁在Microsoft.Bcl.Simd包和Vector<>类中,没有通用的解决方案来满足16字节内存对齐要求,即SIMD需要快速运行。

在上一次建设会议上宣布的.NET原生是更有可能取得成效的前进之路。它使用C++编译器的后端提前生成代码,自动受益于它对自动向量化和自动并行化的内置支持。否则,在没有明确解释的情况下,如何解决内存对齐问题。它有自己的问题,反射困难,目前只支持打包应用程序,这种应用程序的运行时依赖关系可以提前确定。Windows商店和手机应用程序。

更新:这是在.NET 4.6,System.Numerics.Vectors.dll程序集中发布的。请注意,框架中包含的是“安全”的,并且与MSDN文档不匹配,因此缺少Vector<T>。Nuget包(4.1.0版)确实匹配。

票数 10
EN

Stack Overflow用户

发布于 2018-03-19 20:27:04

是的,您可以使用一些向量类型来确保在可用时使用硬件加速。

https://learn.microsoft.com/en-us/dotnet/standard/numerics#simd-enabled-vector-types

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10774869

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档