发现一个矢量化bug,提交了一个Issues给dotnet团队
💡
原文中文,约1000字,阅读约需3分钟。
📝
内容提要
文章讲述了在进行.Net7的矢量化性能优化时,发现了一个bug,即Vector.IsHardwareAccelerated返回的是True,但是VS识别成了False,并且当成True的逻辑来实质性。作者认为这可能是IsHardwareAccelerated的属性返回固定的false,而JIT的IR返回的是true,导致了这个bug。作者将这个Issuse提交给了dotnet团队,并得到了确认。
🎯
关键要点
- 在进行.Net7的矢量化性能优化时发现了一个bug。
- 问题出在System.Numerics.Vector类的IsHardwareAccelerated成员变量。
- Vector.IsHardwareAccelerated返回True,但Visual Studio识别为False。
- 作者最初认为这是Visual Studio 2022的bug。
- 将该问题提交给dotnet团队并得到了确认。
- IsHardwareAccelerated的属性返回固定的false,而JIT的IR返回true,导致了这个bug。
- 提供了bug复现的C#代码和JIT代码示例。
- 作者认为具体情况应以官方答案为准。
➡️