介绍
概述
鲲鹏DevKit命令行工具是一款涵盖系统迁移、应用迁移、亲和分析、系统性能分析和Java性能分析的工具集,本文档介绍了鲲鹏DevKit命令行工具获取,以及对其进行安装、使用的方法,对鲲鹏DevKit命令行工具操作及其各项子功能做了详细介绍。当前支持的功能如下表。
工具 |
说明 |
---|---|
系统迁移 |
收集应用系统中软件包、中间件、数据库等已安装软件信息。 |
应用迁移 |
支持x86 Linux软件迁移到鲲鹏Linux上的扫描、分析与迁移。 |
亲和分析 |
支持鲲鹏920平台软件代码质量检查,提升代码质量、优化访存性能。 |
系统性能分析 |
提供系统多场景性能采集和分析能力,并基于调优系统给出优化建议。 |
Java性能分析 |
针对运行在鲲鹏服务器的Java程序进行性能的分析和优化。 |

- 系统迁移和应用迁移支持x86服务器和基于鲲鹏920的服务器。
- 亲和分析、系统性能分析和Java性能分析仅支持基于鲲鹏920的服务器。
鲲鹏DevKit命令行工具功能简介如下。
- 系统迁移支持收集应用系统中软件包、中间件、数据库等已安装软件信息。
表2 系统迁移功能简介 功能
说明
系统迁移应用信息收集
收集应用系统中软件包、中间件、数据库等已安装软件的台账和系统成分信息。
- 应用迁移可以简化应用迁移的过程,支持将x86 Linux软件迁移到鲲鹏Linux上的扫描、分析与迁移。通过该工具能够自动分析并输出指导报告,极大提高了代码迁移效率。
表3 应用迁移功能简介 功能
说明
源码迁移
源码迁移功能分析用户C/C++/ASM/Fortran/Go/解释型语言软件的可迁移性。
软件迁移评估
软件迁移评估帮助用户分析用户x86环境上软件包安装路径中的SO库文件,并检查这些文件与鲲鹏平台的兼容性。
- 亲和分析支持软件代码质量检查,提升代码质量、优化访存性能。
表4 亲和分析功能简介 功能
说明
64位运行模式检查
64位运行模式检查就是将GCC4.8.5~GCC10.3.0版本原32位的应用迁移到64位平台上,进行迁移检查并给出修改建议。
字节对齐检查
字节对齐检查就是在需要考虑字节对齐时,检查源码中结构体类型变量的字节对齐情况。
内存一致性检查
内存一致性检查就是检查源码迁移在鲲鹏平台运行时可能存在的内存一致性问题,并提供插入内存屏障的建议。
向量化检查
向量化检查功能用于对可向量化片段进行检查,并提供向量化修改建议。
矩阵化检查
矩阵化检查功能用于对可矩阵化片段进行检查,并提供矩阵化修改建议。
构建亲和
构建亲和功能用于分析makefile、CMakeLists.txt中可以替换鲲鹏加速库的内容,并提供替换建议和功能修复。
缓存行对齐检查
缓存行对齐检查是对C/C++源码中结构体变量进行128字节对齐检查,提升访存性能。
BC文件生成
BC文件用于内存一致性检查和向量化片检查。
- 系统性能分析是针对基于鲲鹏服务器的性能分析工具,能收集服务器的处理器硬件、操作系统、进程/线程、函数等各层次的性能数据,分析出系统性能指标,定位到系统瓶颈点及热点函数,给出优化建议。
表5 系统性能分析功能简介 功能
说明
微架构分析
基于ARM PMU(Performance Monitor Unit)事件,获得指令在CPU流水线上的运行情况,帮助用户快速定位当前应用在CPU上的性能瓶颈。用户可以有针对性地修改自己的程序,以充分利用当前的硬件资源。
HPC应用分析
采集系统的PMU事件并配合采集面向OpenMP和MPI应用的关键指标,帮助用户精准获得Parallel region及Barrier-to-Barrier的串行及并行时间、校准的2层微架构指标、指令分布及L3的利用率和内存带宽等相关信息。
访存分析
基于CPU访问缓存和内存的PMU事件,分析存储的访问次数、命中率、带宽等相关情况。
NUMA精细化分析
基于ARM SPE的能力分析得到系统精细化的DDR访问、
NUMA 访问流量矩阵以及进程的内存访问等相关信息。Roofline分析
Roofline分析可帮助用户在给定硬件平台上,分析出应用程序的瓶颈点位置,从而有针对性的进行优化。
热点函数分析
支持分析C/C++程序代码识别性能瓶颈,给出对应的Top热点函数和调用栈详情。通过火焰图展示函数的调用关系,发现优化路径。
Miss事件分析
利用SPE(Statistical Profiling Extension)能力对业务进行LLC Miss,TLB Miss,Remote Access,Long Latency Load等Miss类事件分析,可以有针对性地修改自己的程序,降低Miss事件发生的几率,提高程序处理性能。
- Java性能分析是针对基于鲲鹏的服务器上运行的Java程序的性能分析和优化工具,收集热点函数、定位程序瓶颈点,帮助用户采取针对性优化。
表6 Java性能分析功能简介 功能
说明
热点分析
采集某些时刻CPU、CYCLES、LOCK、CACHE_MISSES、ALLOC事件的栈信息,统计当前JVM中的热点方法,以火焰图与反向火焰图的形式查询和呈现。
读者对象
本文档主要适用于以下人员:
- 鲲鹏平台开发者
- 鲲鹏平台的软件用户
- ISV开发者