gpt4 book ai didi

.net - .NET Framework 4.5 是否提供 SSE4/AVX 支持?

转载 作者:行者123 更新时间:2023-12-04 17:02:41 25 4
gpt4 key购买 nike

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

更新:我告诉过 JiT

最佳答案

不,在 .NET 中没有您可以自己编写机器代码的场景。代码生成完全取决于即时编译器。它当然能够根据机器处理器的功能自定义其代码生成。 ngen.exe 必须始终在目标计算机上运行的重要原因之一。 .NET 4.5 中的抖动是否经过调整以利用 sse4 或 avx 是一个悬而未决的问题,我还没有听说过。我相当怀疑,除了修复错误之外,Microsoft 并没有过多地修补这些问题。非常不稳定,4.5 不是并行版本。

然而,VS-11 确实有一个更新的 C++ 代码生成器。它能够自动矢量化循环并使用 SIMD/AVX 指令来做到这一点。此 blog post提到它,一个简短的视频是available here .

更新:new x64 jitter ,目前在 CTP 中,代号为 RyuJIT,包括对 SIMD 指令的一些基本支持。 SSE2 类型,提供自动矢量化。然而,它被非常紧密地锁定在 Microsoft.Bcl.Simd 包和 Vector<> 类中,对于 SIMD 需要快速运行的 16 字节内存对齐要求,没有通用的解决方案。

更有可能取得成果的前进道路是 .NET Native ,在上届 Build 大会上宣布。它使用 C++ 编译器的后端提前生成代码,自动受益于其对自动矢量化和自动并行化的内置支持。否则还没有明确解释内存对齐问题是如何解决的。它有自己的问题,反射很困难,目前只支持打包的应用程序,可以提前确定运行时依赖项的类型。 Windows 应用商店和手机应用。

更新:这在 .NET 4.6 中提供,System.Numerics.Vectors.dll 程序集。请注意,框架中包含的那个是“安全”的,与 MSDN 文档不匹配,Vector<T>不见了。 Nuget 包(版本 4.1.0)确实匹配。

关于.net - .NET Framework 4.5 是否提供 SSE4/AVX 支持?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10774869/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com