Rate This Document
Findability
Accuracy
Completeness
Readability

Introduction

The Affinity Analyzer tool is an application source code analysis tool designed for developers, users, and independent software vendors (ISVs) of the Kunpeng platform. This tool is one of the extended tools of Kunpeng DevKit. It supports software code quality check to help improve code quality and memory access performance.

Table 1 Task description

Function

Description

Supported Platform

64-bit running mode check

Identifies the applications to be ported from the 32-bit platform to the 64-bit platform and provides modification suggestions for the porting.

Kunpeng

Byte alignment check

Checks the byte alignment of the structure variables in the source code.

Cache line alignment check

Checks the 128-byte alignment of structure variables in the C/C++ source code to improve memory access performance.

Static memory consistency check

Checks for any memory inconsistency problems in static mode when C/C++ source code is running on the Kunpeng platform, and also provides check reports and memory barrier insertion suggestions.

Vectorization check

Checks vectorizable code fragments and provides modification suggestions.

Matricization check

Checks matricizable code fragments and provides modification suggestions.

Build affinity

Analyzes the content in the makefile and CMakeLists.txt that can be replaced with content in the Kunpeng library, and provides replacement suggestions and function repair.

Calculation precision analysis

After instrumenting application functions using the precision analysis tool, run the functions on the x86 platform and Kunpeng platform. Then the precision analysis tool compares the output results to analyze the calculation precision differences between the platforms.

Use Restrictions

Table 2 Use restrictions

Task Type

Description

Byte alignment check

If dependency files are unavailable when header files are used in recursion, the analysis accuracy decreases.