.Net7发现System.Numerics.Vector矢量化的一个bug,Issues给了dotnet团队
2023/6/18 14:22:37
本文主要是介绍.Net7发现System.Numerics.Vector矢量化的一个bug,Issues给了dotnet团队,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
因为前几天做.Net7的矢量化性能优化,发现了一个bug。在类System.Numerics.Vector里面的成员变量IsHardwareAccelerated。但是实际上不确定这个bug是visual studio 2022的还是System.Numerics.Vector库的,个人认为应该是前者,也就是vs的bug。
Vector.IsHardwareAccelerated返回的是True,但是VS识别成了False,并且当成True的逻辑来实质性。把这个Issuse提交给了dotnet团队,传送门:点击此处。下面的回答,有人确认确实如此。但是为什么会出现如此奇怪的错误呢?
首先看下这个bug,然后再分析下
JIT Code
bool bl= Vector.IsHardwareAccelerated; 00007FF997577896 C7 45 28 01 00 00 00 mov dword ptr [rbp+28h],1 00007FF99757789D 8B 4D 28 mov ecx,dword ptr [rbp+28h] 00007FF9975778A0 0F B6 C9 movzx ecx,cl 00007FF9975778A3 89 4D 2C mov dword ptr [rbp+2Ch],ecx
可以看到Vector.IsHardwareAccelerated确实返回1。但是VS里面却是如下图所示:
很明显,JIT和VS里的显示是冲突的。
作者:江湖评谈
欢迎关注我,一起学习,一起进步
这篇关于.Net7发现System.Numerics.Vector矢量化的一个bug,Issues给了dotnet团队的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2022-03-01沐雪多租宝商城源码从.NetCore3.1升级到.Net6的步骤
- 2024-12-06使用Microsoft.Extensions.AI在.NET中生成嵌入向量
- 2024-11-18微软研究:RAG系统的四个层次提升理解与回答能力
- 2024-11-15C#中怎么从PEM格式的证书中提取公钥?-icode9专业技术文章分享
- 2024-11-14云架构设计——如何用diagrams.net绘制专业的AWS架构图?
- 2024-05-08首个适配Visual Studio平台的国产智能编程助手CodeGeeX正式上线!C#程序员必备效率神器!
- 2024-03-30C#设计模式之十六迭代器模式(Iterator Pattern)【行为型】
- 2024-03-29c# datetime tryparse
- 2024-02-21list find index c#
- 2024-01-24convert toint32 c#