Introduction
Overview
The Kunpeng DevKit command line tool is a toolset that includes the System Migration, Porting Advisor, Affinity Analyzer, Compiler and Debugger, and System Diagnosis tools. This document describes how to obtain, install, and use the Kunpeng DevKit command line tool. The following table lists the supported functions:
Tool |
Description |
Supported Platform |
|---|---|---|
System Migration |
Collects information about installed software including software packages, middleware, and databases in an application system, and analyzes the dependency compatibility in the POM file of a Maven project. |
Kunpeng, x86, Windows Server 2008, Windows Server 2012, Windows Server 2016 |
Porting Advisor |
Ports software from x86 servers running Linux to Kunpeng servers running Linux, with necessary software scan and analysis capabilities. |
Kunpeng, x86 |
Affinity Analyzer |
Checks software code on the Kunpeng platform to improve code quality and memory access performance. |
Kunpeng, x86 (only calculation precision analysis and link latency detection supported) |
Tiancheng Code Optimizer |
It is a static code analysis tool built on Clang/LLVM, focusing on vectorized optimization of C/C++ code. The tool can automatically identify vectorizable loop patterns, detect factors that hinder vectorization, and generate vectorized code for automatic rewriting. It helps developers quickly convert scalar code into efficient SIMD vectorized code and fully leverage the performance benefits of NEON/ |
Kunpeng |
Tracer |
Parses the user-defined configuration file (.ini) and generates a header file. Users can write header file APIs into program code to record log information. In addition, the Tracer integrates the CTF deserialization function to parse and output log files. |
Kunpeng, x86 |
HPC Debugger |
Debugs MPI and MPI+OpenMP applications in Launch mode. It must be run using the mpirun command. Debugs MPI and MPI+OpenMP applications in Attach mode. It must use the srun method of the Slurm scheduler. |
Kunpeng, Phytium |
Quickly collects static Kunpeng hardware information to help learn about the overall hardware status before tuning. NOTE:
The Kunpeng Health Inspector was formerly named "Kunpeng Health Check." |
Kunpeng |
|
Enables one-click collection of multidimensional performance statistics, covering cache misses, memory access, NOTE:
Compared with the System Profiler, the Kunpeng Performance Boundary Analyzer collects a broader range of metrics. It is useful for analyzing performance at the early stages of tuning and for determining the tuning direction. In later stages, you can then use the microarchitecture analysis and hotspot function analysis features of the System Profiler to pinpoint performance bottlenecks more precisely. |
Kunpeng, x86 |
|
System Profiler |
Collects and analyzes performance data in multiple scenarios, and provides tuning suggestions based on the tuning system. NOTE:
Compared with the Kunpeng Performance Boundary Analyzer, the System Profiler supports multi-dimensional, in-depth performance analysis and focuses more on identifying bottlenecks in the middle and later stages of tuning. For example, the microarchitecture analysis feature can be used to examine instruction execution efficiency layer by layer at the microarchitecture layer, while the memory access statistics feature helps analyze and locate cache miss sources and memory access pattern issues. |
Kunpeng |
Python/C Profiler |
Samples Python programs and mixed programs of Python and C/C++ and analyzes call stacks. |
Kunpeng |
Java Profiler |
Analyzes and optimizes the performance of Java applications running on Kunpeng servers. |
Kunpeng |
Automatically tunes application and system parameters to improve application performance metrics in different scenarios. |
Kunpeng |
|
System Diagnosis |
Analyzes exceptions that occur in applications. |
Kunpeng |
Monitors the code cache and JIT compiler metrics of Java applications, and generates alarms when detecting any abnormal metrics that could cause performance jitter. |
Kunpeng |
Command Format Conventions
Format |
Description |
|---|---|
Boldface |
The keywords (the part that must be kept unchanged) of a command are in boldface. |
Italic |
Command arguments (replaced by specific values in an actual command) are in italics. |
[ ] |
Optional items (keywords or arguments) are grouped in square brackets ([]). |
{ x | y | ... } |
Optional items are grouped in braces ({}) and separated by vertical bars (|). One item must be selected. |
[ x | y | ... ] |
Optional items are grouped in brackets ([]) and separated by vertical bars (|). One item or no item can be selected. |
{ x | y | ... }* |
Optional items are grouped in braces ({}) and separated by vertical bars (|). At least one item must be selected, and at most all items can be selected. |
[ x | y | ... ]* |
Optional items are grouped in brackets ([]) and separated by vertical bars (|). Several items or no item can be selected. |
&<1-n> |
The parameter before the ampersand (&) can be repeated 1 to n times. |
# |
A line starting with the # sign is a comment. |
