我目前正在开发一个从MathNet.Numerics库切换到System.Numerics.Vectors库的项目。我想利用SIMD硬件支持。
应用程序的目标框架是.NET 4.6.1,因此RyuJIT应该是默认的JIT编译器。在 HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft.NETFramework 中将 UseRyuJIT 设置为1。
但是System.Numerics.Vector.IsHardwareAccelerated
属性仍然返回false。
应用程序在发布模式下运行,首选32位未选中,平台目标是AnyCPU(虽然我也尝试过x64),启用本机代码调试,当我从Visual Studio运行它并观看调试 - > Windows - >模块窗口我可以在列表中看到 clrjit.dll 。否 protojit.dll (我认为这是CTP版本名称)或 compatjit.dll 处于活动状态。
此外,在应用配置中没有设置 useLegacyJit =" 1" ,没有 COMPLUS_useLegacyJit 环境变量或 useLegacyJit 强势>在注册表中标记。
系统信息:
Windows 7专业版
Visual Studio Professional 2013
System.Numerics.Vectors v4.1.2.0
Intel Core i7 3740QM