用于Windows on Arm的开源性能分析工具

描述

Windows on Arm生态系统继续增长。

微软最近宣布Azure虚拟机正式上市,该虚拟机采用基于Ampere Altra Arm的处理器(https://azure.microsoft.com/en-us/blog/azure-virtual-machines-with-ampere-altra-arm-based-processors-generally-available/)。Windows Dev Kit 2023 (称为Project Volterra https://blogs.windows.com/windowsdeveloper/2022/10/24/available-today-windows-dev-kit-2023-aka-project-volterra/)允许开发人员将针对Windows on Arm的应用程序开发带到具有功能的Windows on Arm设备上。Surface Pro 9结合了基于Microsoft SQ 3处理器的性能和电池寿命。

现在是成为Arm开发人员的好时机。我们看到越来越多的应用程序不仅在基于Arm的平台上运行,而且以市场领先的性能和功耗运行。在Arm上解锁卓越的应用程序性能变得比以往任何时候都更加必要!

我们致力于开发性能分析方法(https://community.arm.com/arm-community-blogs/b/tools-software-ides-blog/posts/arm-neoverse-n1-performance-analysis-methodology),支持开发人员从基于Arm的平台中获得最大收益。这包括支持Windows和Linux的工具,如Linux perf和Arm Streamline Performance Analyzer(https://developer.arm.com/Tools%20and%20Software/Streamline%20Performance%20Analyzer)。

在本博客中,我们很高兴介绍WindowsPerf;这是一个开源的性能分析工具,我们正在与微软和Linaro的Windows on Arm项目(https://www.linaro.org/windows-on-arm/)合作。

“随着Windows Dev Kit 2023的推出、Surface Pro 9 5G的推出以及Visual Studio 2022 17.4的发布以及完全支持的Arm64版本,Windows on Arm的发展势头继续增长。社区主导的WindowsPerf项目是开发人员为Windows on Arm提供最佳体验的工具套件的重要补充,微软Windows团队首席工程师Marcus Perryman表示。

“开源Arm生态系统继续采用Windows平台,在启用一年后,Linaro的重点开始解决应用程序的性能问题。WPERF项目是另一个合作的例子,旨在满足对性能分析工具的需求,在这种情况下,开发人员可以从平台中获得最大的收益。”,Linaro Windows小组主席兼Linaro性能和支持总监,Mike Holmes如此说。

什么是WindowsPerf?

WindowsPerf希望与Linuxperf类似。该项目由两部分组成:内核模式驱动程序和用户空间命令行工具。命令行工具采用与Linuxperf命令行相同的样式。

目前,WindowsPerf处于开发的早期阶段,但已经支持用于获取特殊事件发生总数的计数模型。不久,我们将支持用于确定程序位置在函数、基本块和指令级别上产生的事件发生频率的采样模型。

WindowsPerf可以检测Arm CPU性能计数器。截至目前,它可以收集:

。所有或指定CPU核心的core PMU计数器。

.unCore PMU计数器,现在支持系统缓存(DSU-520)和DRAM(DMC-620)。

此命令行工具允许用户利用事件分组、事件复用和时间线模式。

如何获取和使用它?

您可以在Linaro Gitlab上找到WindowsPerf: https://gitlab.com/Linaro/WindowsPerf/windowsperf

或者访问我们的Wiki:https://linaro.atlassian.net/wiki/spaces/WPERF/overview

您现在可以在WoA机器上计算事件。使用wperf-list命令显示可用的预定义事件列表。您最多可以指定127个事件,wperf将对它们进行多路复用,如下所示。

微软

用于事件计数的WindowsPerf复用代码输出

微软

在此示例中,使用预定义的度量对事件进行计数。

有关示例的详细用法,请访问我们的GitLab网站。

行动号召

我们很高兴为WindowsPerf社区注入种子,并希望随着时间的推移,我们可以构建该工具的功能,为开发人员提供获得卓越性能所需的一切。这包括Windows on Arm支持的各种工具、语言和运行时。

您可以帮助我们改进WindowsPerf,只需在您的WoA机器上试用该工具,提出错误,建议改进,或直接对项目的文档或代码做出贡献。我们希望尽可能透明,这就是为什么我们正在与大家分享Jira信息。

审核编辑 :李倩

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分