Creating an Acceleration Library Project
You can use an acceleration library application to create regular expression matching library, compression, encryption and decryption, message digest, and cyclic redundancy check (CRC) projects. A regular expression matching library project provides a HyperScan sample project. A compression library project provides Gzip, ZSTD, and Snappy sample projects. An encryption and decryption project provides an AES sample project. A message digest project provides an SHA256 sample project. A CRC project provides a CRC32 sample project.
- HyperScan is a high-performance regular expression matching library that complies with the general regular expression syntax of the libpcre library and has independent C language interfaces.
- Gzip is a piece of compression software that leverages data prefetch, loop unrolling, and CRC instruction replacement to improve compression and decompression rates on the Kunpeng platform.
- Zstandard (zstd) is an open-source fast and lossless compression algorithm developed using the C language. It aims to provide higher compression and decompression rates and compression ratio.
- Snappy is a compression algorithm developed based on the C++ language that aims to provide high compression and decompression rates and a reasonable compression ratio. It uses methods such as inline assembly, high-bit instructions, optimized CPU pipelines, and memory prefetch to enhance the compression and decompression rates of Snappy on the Kunpeng computing platform.
- Advanced Encryption Standard (AES) is a symmetric encryption algorithm that supports asynchronous models and ECB, CTR, XTS, and CBC modes.
- SHA256 is a standard message digest algorithm. For messages of any length, SHA256 generates a 256-bit hash value, which is called message digest. Kunpeng provides computing acceleration instructions for the SHA256 algorithm to improve performance.
- Cyclic redundancy check 32-bit (CRC32) is an error detection algorithm that generates a fixed-length 32-bit checksum from data such as network packets or computer files. It is widely used to detect accidental changes or corruption that may occur during data transmission or storage. It uses the principle of polynomial division and remainder to detect errors.
Prerequisites
- You have logged in to the Kunpeng DevKit.
- The Development Assistant has been installed. You are advised to install the Compiler and Debugger and add a target server before creating a project for future compilation and debugging.
Procedure
- Click
in the shortcut menu bar on the left pane or click
next to Development Assistant. The Kunpeng Application Projects page is displayed. See Figure 1. - Click General-purpose Computing Application. The General-Purpose Computing Application page is displayed. See Figure 2.
- Click Acceleration Library Application. On the left pane of the page that is displayed, select Template project or Empty project for Project Type, select the required sample project, and set other parameters. See Figure 3 and Figure 4.
Table 1 Parameter settings (1) Parameter
Description
Project Type
The options are:
- Template project
- Regular Expression Matching Library
- Compression
- Encryption and Decryption
- Message Digest
- CRC
- Empty project
Sample Project
- A regular expression matching library project provides a HyperScan sample project.
- A compression project provides Gzip, ZSTD, and Snappy sample projects.
- An encryption and decryption project provides an AES sample project.
- An information digest project provides an SHA256 sample project.
- A CRC project provides a CRC32 sample project.
Project Name
Name of the project to be created. The default project name is xxx_ProjectN, which can be modified as required.
NOTE:- N is an integer starting from 1 in ascending order.
- The project name can contain 1 to 64 characters, including only letters, digits, periods (.), hyphens (-), plus signs (+), parentheses (), and underscores (_). It cannot start with a period (.).
Project Location
Storage path of the project to be created. The default project location is C:\Users\username\KunpengProject, which can be modified as required.
When an empty project is created, a directory of the corresponding project is also created, with the file content being empty.
- Template project
- Click Next to configure the target node. You can use an existing server or add a new server. To add a server, enter the IP address, SSH port, user name, password, and storage directory. If you select Configure later, no SDKs will be deployed by default.Figure 5 Configuring the target node
Table 2 Parameter settings (2) Parameter
Description
Deploy Server
- Existing
- New
- Configure later
NOTE:The new server will be added to the target server management.
IP Address
IP address of the target node for subsequent operations.
SSH Port
SSH port number of the target node.
User Name
Account of the target node for subsequent operations.
Password
Password of the target node user.
Remember password
If you select this option, the password of the current server user will be remembered.
Storage Directory
Storage directory on the target node.
NOTE:The tool reads and writes the content in the storage directory. To avoid data loss, you are advised to use an empty directory.
Deploy SDK
Select an SDK deployment method.
- Online deployment
- kunpeng-gpc
- kunpeng-gpc-devel
- Offline deployment
- kunpeng-gpc
- kunpeng-gpc-devel
- Configure later
NOTE:- If you select Online deployment, the server must be connected to the Internet. In an isolated network environment, you need to use a proxy to access the Internet. For details, see Configuring a Proxy.
- If you select Offline deployment, the SDK is imported from the local host. Download the SDK to the local host and upload it.
When configuring the new target node, ensure that the node is running on a physical machine and runs CentOS 7.6, openEuler 20.03 LTS, openEuler 20.03 LTS SP1, or Ubuntu 18.04.1 LTS in the Arm architecture, and that you have administrator permissions for the node.
- Determine whether to deploy the SDK. If you select Yes, select Online deployment, Offline deployment, or Configure later. See Figure 6. Click Create.
If the general-purpose computing SDK fails to be deployed, rectify the fault by following instructions in Failed to Deploy the General Computing Application SDK.
- Verify the modules on the right during project creation. If you can click Terminate Configuration, the verification process stops. You can also click Cancel to continue the verification process. If the verification is successful, the modules on the right are displayed in green. If the verification fails, the modules are displayed in red.Figure 7 Terminating configuration
Figure 8 Installing the SDK
During SDK verification, if a file with the same name has been deployed on the server and the KAE does not exist, a dialog box is displayed, prompting you to install the SDK. Click OK and then the system automatically installs the SDK and overwrites the original file. If you click Cancel to return to the verification page, the verification of the general-purpose computing SDK fails.
Figure 9 Successful project creation
Figure 10 Project creation failure
- If the parameters fail to be set, check the network connection and reconfigure the parameters.
- If the SDK fails to be deployed, click Reconfigure to verify again.
- If the source code fails to be downloaded, the plugin creates an empty project that does not contain source code.
- After the acceleration library project is created, click Open Project to open it in the current window.Figure 11 Viewing the acceleration library project
- Use the Compiler and Debugger to compile, run, and debug the new project. For details, see the README file in the src folder of the project.
If a project folder or file is added, deleted, modified, or renamed, you can synchronize the change to the remote server. For details, see Synchronizing Code to a Remote Server.
- If the Kunpeng general-purpose computing application project fails to be created, click Reconfigure.Figure 12 Reconfigure
Navigation Back
- When configuring parameters, you can click Kunpeng Application Project or General-Purpose Computing Application in the upper left corner of the page. The Leave dialog box is displayed. Clicking OK will clear related configurations. Click
next to Acceleration Library Application in the upper left corner of the page. In the Information dialog box that is displayed, clicking OK will discard the changes and close the project creation page.
Figure 13 Leave dialog box when setting parameters
Figure 14 Information dialog box when setting parameters
- When creating a project, you can click Kunpeng Application Project or General-Purpose Computing Application in the upper left corner of the page. The Leave dialog box is displayed. Clicking OK will terminate the configuration. Click
next to Acceleration Library Application in the upper left corner of the page. In the Information dialog box that is displayed, clicking OK will stop the setting and close the project creation page.
Figure 15 Leave dialog box when creating a project
Figure 16 Information dialog box when creating a project




