Introduction
You can use the Development Assistant to create Kunpeng application projects. It supports C and C++. During coding, it automatically queries the function library provided by the Kunpeng Library, as well as highlights and associates those replacement libraries and functions. It has the following features:
- Kunpeng application projects: You only need to perform simple input and selection on the Create Kunpeng Application Project page to build empty projects and general-purpose computing,
secure computing , high-performance computing (HPC ), Data Processing & Acceleration Kit (DPAK ), and data I/O application projects. - Dictionary management: Supports online (automatic) and offline update of the function dictionary in the library.
- Coding assistance: Provides hints and function search for functions in the Kunpeng Library; associates and highlights the tuned functions in the Kunpeng Library during coding.
The Development Assistant supports the following libraries and high-performance open source components.
Category |
Name |
Description |
|---|---|---|
System library |
Glibc-patch |
Glibc-patch tunes the memory, string, and lock interfaces based on the microarchitecture of Huawei Kunpeng 920 processors. |
Hyperscan |
Hyperscan uses Kunpeng instructions to accelerate the compilation and scanning of regular expressions based on the advantages of the Kunpeng micro-architecture. |
|
AVX2KI |
AVX2KI is an interface collection library that re-implements the intrinsic interface collection on a conventional platform using Kunpeng instructions and encapsulates the intrinsic interface collection as an independent interface module (in C language header file mode) to reduce the workload of repeated development of porting projects. |
|
Compression |
Gzip |
Gzip uses data prefetch, loop unrolling, and CRC instruction replacement to improve the compression and decompression rates of gzip-1.10 on the Kunpeng platform, especially the compression and decompression of text files. |
ZSTD |
Zstandard (ZSTD) uses NEON instructions, inline assembly, memory prefetch, adjusted code structure, and optimized instruction pipeline layout to improve the compression and decompression rates of zstd-1.4.4 on the Kunpeng platform. |
|
Snappy |
Inline assembly, high-bit instructions, optimized CPU pipeline, and memory prefetch are used to improve the compression and decompression rates of Snappy-1.1.7 on the Kunpeng platform. |
|
KAEzip |
KAEzip is the compression module of the Kunpeng Accelerator Engine (KAE). It uses the Kunpeng hardware acceleration module to implement the Deflate algorithm and works with the lossless user-mode driver framework to provide an interface for high-performance compression in gzip or zlib format. |
|
Encryption and decryption |
KAE encryption and decryption |
The Kunpeng hardware acceleration module implements the RSA, SM3, SM4, DH, MD5, and AES algorithms, provides high-performance symmetric and asymmetric encryption and decryption based on the lossless user-mode driver framework. It is compatible with OpenSSL 1.1.1a and later versions and supports synchronous and asynchronous mechanisms. |
Media |
x265 |
Kunpeng acceleration instructions are used to rebuild the transcoding core code of the x265 open source library. The transcoding performance can be improved on the Kunpeng platform without changing the original interfaces and algorithms. The underlying x265 transcoding operators are optimized using Kunpeng vectorization instructions to improve the transcoding performance in FFmpeg video transcoding scenarios. |
HMPP |
Kunpeng Hyper Media Performance Primitives (HMPP) provides functions for allocating and releasing vector buffers, vector initialization functions, vector mathematical operation functions, vector statistics operation functions, vector sampling functions, vector conversion functions, filtering functions, and transform (such as fast Fourier transform) functions. It complies with the IEEE 754 (a technical standard for floating-point arithmetic) and can be used on the Kunpeng platform. |
|
x264 |
x264 is a free video encoding software authorized by GPL. It is mainly used for H.264/MPEG-4 AVC video encoding. |
|
Math library |
KML_FFT |
KML_FFT is based on the Kunpeng architecture. By using vectorization and improved algorithms, it deeply optimizes FFT and improves the performance of FFT interface functions. |
KML_BLAS |
Based on the Kunpeng architecture, KML_BLAS performs in-depth mining on the computing efficiency of BLAS by means of vectorization, data prefetch, compilation optimization, and data rearrangement. As a result, the performance of BLAS interface functions approaches the theoretical peak value. |
|
KML_SPBLAS |
KML_SPBLAS makes full use of the instruction set and architecture characteristics of Kunpeng, improving the service performance of HPC and big data solutions. |
|
KML_MATH |
KML_MATH provides function implementations with higher performance based on Kunpeng processors by reducing periodic functions and improving algorithms. |
|
KML_VML |
KML_VML vectorizes input data by using methods such as NEON instruction optimization and inline assembly. It uses the register features in the Kunpeng architecture to improve the performance of Kunpeng processors. |
|
KML_LAPACK |
KML_LAPACK optimizes the LAPACK based on the Kunpeng architecture by means of block division, algorithm combination, multithreading, and Basic Linear Algebra Subprograms (BLAS) interface optimization, improving the performance of Kunpeng processors. |
|
KML_SVML |
KML_SVML processes input vectors in batches by using methods such as NEON instruction optimization and inline assembly. It makes full use of register features in the Kunpeng architecture to improve performance of Kunpeng servers. |
|
KML_SOLVER |
KML_SOLVER (sparse solver library) provides direct solvers and iterative solvers, and supports multiple threads on a single node and multiple MPI processes in a cluster. |
|
Storage |
Smart prefetch |
Smart prefetch uses high-speed cache drives and efficient prefetch algorithms to improve system storage I/O performance and the overall performance of the solution in storage I/O-intensive scenarios. |
SPDK |
The Storage Performance Development Kit (SPDK) aims to improve efficiency and performance by using network, processing, and storage technologies. By running software designed for hardware, SPDK has proven capable of millions of I/O reads per second by using multiple processor cores and NVMe drivers for storage, without the need for offload hardware. |
|
ISA-L |
Intelligent Storage Acceleration Library (ISA-L) is a collection of highly optimized functions that provide RAID, erasure code (EC), cycle redundancy check, cryptographic hash, and compression. |
|
Network |
XPF |
Extensible Packet Framework (XPF) is a Huawei-developed library. The XPF function module implements an intelligent offload engine module in the |
DPDK |
The Data Plane Development Kit (DPDK) is a data-plane development tool set, including library functions and drivers, for efficient data packet processing in the user space. |
Category |
Name |
Description |
|---|---|---|
HPC |
Hyper MPI is key to the HPC solution. It implements network communication for parallel computing and is suitable for scenarios such as manufacturing, meteorology, AI, and big data. |