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. In addition, it supports image migration, and can generate Dockerfiles, build image resource files, and compatibility analysis reports. |
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) |
Dynamic Code Optimizer |
Collects performance data during the execution of C/C++ source code and provides optimization suggestions. The tool supports function-level top-down analysis, function trace analysis, and memory profiling, helping developers understand the service execution logic, quickly identify performance bottlenecks, and receive actionable optimization suggestions. By using this tool, performance issues can be resolved faster, improving both development efficiency and operational efficiency. |
Kunpeng, x86 |
Tiancheng Code Optimizer |
Performs static analysis of C/C++ code with Clang/LLVM, focusing on vectorized optimization of C/C++ code. The tool automatically identifies vectorizable loop patterns and supports x86 Intel intrinsics analysis to detect x86 vectorized instructions. It automatically generates Arm vectorized code for automatic rewriting. These capabilities help developers quickly convert scalar code into efficient Arm 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 |
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 |
|
Collects multi-dimensional performance data with a single click, including cache misses, memory access statistics, NOTE:
|
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 programs running on Kunpeng servers. |
Kunpeng |
Automatically tunes application and system parameters to improve application performance metrics in different scenarios. |
Kunpeng |
|
Memory Optimizer |
Analyzes single-process and multi-process memory usage, identifies hot and cold memory regions, and swaps cold memory to swap space to free physical memory. |
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. |
