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) |
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 and 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 |
Kunpeng Health Inspector |
Quickly collects static Kunpeng hardware information to help learn about the overall hardware status before tuning. NOTE:
The Kunpeng Health Inspector was once named "Kunpeng Health Check". |
Kunpeng |
Kunpeng System Methodology Profiler |
Enables one-click collection of multidimensional performance statistics, covering cache misses, memory access, NUMA, microarchitecture, miss latencies, hotspot functions, CPU usage, NIC bandwidth, I/O, memory usage, softirqs, PCIe, NOTE:
Compared with the System Profiler, the System Methodology Profiler 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 System Methodology Profiler, 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 |
Kunpeng AutoTuner |
Automatically tunes application and system parameters to improve application performance metrics in different scenarios. |
Kunpeng |
System Diagnosis |
Analyzes exceptions that occur in applications. |
Kunpeng |
JVM Jitter Detector |
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. |
