麦斯科技 · 2023年02月19日 · 四川

Arm Neoverse V1–性能分析和遥测规范的自顶向下方法

https://community.arm.com/arm-community-blogs/b/infrastructure-solutions-blog/posts/arm-neoverse-v1-top-down-methodology-for-performance-analysis

作者:Jumana Mundichipparakkal 2023年2月6日

V1-PMU-WP-webimage_2D00_7201BB60_2D00_F4BA_2D00_40F8_2D00_96.jpg

Arm Neoverse V1 性能分析方法白皮书(https://armkeil.blob.core.windows.net/developer/Files/pdf/white-paper/neoverse-v1-core-performance-analysis.pdf)现在可以下载了,它可以帮助您为基于V1的产品系统优化应用程序代码。

白皮书是对上一篇“Arm Neoverse N1:性能分析方法”(https://community.arm.com/arm-community-blogs/b/tools-software-ides-blog/posts/arm-neoverse-n1-performance-analysis-methodology)的更新,涵盖了从N1到V1内核的新功能和更新。此资源可用于了解和优化V1平台上应用程序的性能。

为了充分利用您花费的分析和优化时间,选择正确的PMU事件并遵循具有用户友好软件度量的结构化方法是非常重要的。在白皮书中,我们介绍了Neoverse V1的Arm自顶向下分析方法。

在本博客中,我们概述了从N1到V1内核的更新,并概述了本白皮书的内容。我们还引用了其他有用的资源,以充分利用Neoverse V1平台。

Arm Neoverse V1支持自上而下的1级指标。

Arm Neoverse V1平台是第一个Arm核心,为自上而下的方法学1级指标支持全套事件和指标。这些指标对于性能分析和优化是一个巨大的增值。

这些指标提供了SLOT级别处理器流水线利用率的详细细分,从而能够评估处理器效率和识别瓶颈。该功能是Arm Neoverse V1平台性能分析功能的一个主要增强,此外还有其他可用于进一步分析的微架构探索指标。

Arm Neoverse V1遥测规范:性能分析的事件和指标。

Arm Neoverse V1遥测规范,包括软件产品特定事件描述和衍生分析指标,可在Arm Neovere V1性能分析方法白皮书附录B和C中找到。

Arm遥测解决方案库

白皮书中引用的机器可读JSON文件中提供的遥测数据和压力工作负载套件现在可以在GitLab遥测解决方案库(https://gitlab.arm.com/telemetry-solution/telemetry-solution)中找到。

Neoverse V1 PMU事件和指标备忘单

在这个过程中,熟悉Arm Neoverse微体系结构,包括其复杂的管道和多级内存层次结构,可能会有所帮助。由于Neoverse内核提供了100多个硬件计数器可供选择,因此确定重点关注的事件的优先级非常重要。为了帮助完成这项任务,我们创建了列出事件及其相应派生度量的备忘单。

V1-Events-Cheat-Sheet-cropped.jpg

表1。Neoverse V1核心活动备忘单

主要参考文献

以下两份文件提供了对Neoverse V1进行性能分析所需的所有信息,是我们推荐的参考文件:

1) Arm Neoverse V1性能分析方法白皮书(https://armkeil.blob.core.windows.net/developer/Files/pdf/white-paper/neoverse-v1-core-performance-analysis.pdf):本白皮书介绍了一种性能分析方法,并介绍了如何在Arm Neovere V1平台上进行工作负载表征。这是对上一篇Neoverse N1白皮书的更新,该白皮书介绍了性能分析方法,并展示了如何在Arm Neoverse N1平台上进行工作负载表征。如果您是Arm平台和性能分析工具(如Linuxperf)的新手,我们建议您先阅读本白皮书。

2) Arm Neoverse V1 PMU指南(直接下载):本文档全面概述了所有硬件PMU事件,包括在性能分析中有效使用事件所需的微架构和架构细节。

Arm Neoverse V1核心

Arm Neoverse V1是一个核心,旨在为苛刻的云、HPC和AI/ML辅助工作负载提供最大的单线程性能。Neoverse V1是第一个包含可扩展向量扩展(SVE)的Neoverse处理器,可实现最大向量性能、HPC代码重用和使用寿命。Neoverse V1支持Bfloat16和Int8 MatMul指令。与Neoverse N1相比,这些指令可以为TensorFlow、PyTorch、OneDNN等机器学习框架提供高达3倍的性能。Neoverse V1 CPU目前可用于AWS EC2实例,由AWS Graviton3和AWS Graviton 3E处理器提供支持。

结论

我们自上而下的方法分析和遥测规范现在可用于Neoverse V1平台。我们将很快开始将这些信息上传到Linux perf工具。V系列内核,如V1,旨在在Neoverse系列CPU IP中提供最大的单线程性能。Neoverse V1性能分析方法白皮书和V1 PMU指南可以帮助开发人员从V1架构中获得最大性能。我们鼓励所有使用基于V1的平台(包括AWS Graviton3和Graviton3E)的开发人员学习和使用它。

白皮书下载地址:https://armkeil.blob.core.windows.net/developer/Files/pdf/white-paper/neoverse-v1-core-performance-analysis.pdf

推荐阅读
关注数
5845
内容数
525
定期发布Arm相关软件信息,微信公众号 ArmSWDevs,欢迎关注~
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息