Creating a Hardware Acceleration Project
You can use a hardware acceleration application to create compression projects and encryption/decryption projects. A compression project provides a KAEzip sample project, and an encryption/decryption project provides SM3, SM4, and AES sample projects.
KAEzip is the compression module of the 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.
The KAE encryption and decryption module uses the Kunpeng hardware acceleration module to implement the RSA, SM3, SM4, DH, MD5, and AES algorithms, and provides high-performance symmetric and asymmetric encryption/decryption algorithms based on the lossless user-mode driver framework. Compatible with OpenSSL 1.1.1a and later versions, it supports the synchronous and asynchronous mechanisms.
- Digest algorithm SM3, which supports asynchronous models.
- Symmetric encryption algorithm SM4, supporting asynchronous models and CTR, XTS, CBC, ECB, and OFB modes.
- Symmetric encryption algorithm AES, supporting asynchronous models and ECB, CTR, XTS, and CBC modes.
- 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 Hardware Acceleration 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.
- 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
- 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.
Table 1 Parameters for configuring a hardware acceleration project Parameter
Description
Project Type
The options are:
- Template project
- Compression
- Encryption and Decryption
- Empty project
Sample Project
- A compression project provides the KAEzip sample project.
- An encryption and decryption project provides SM3, SM4, and AES sample projects.
Project Name
The default project name is xxx_ProjectN, which can be modified as required.
Name of the project to be created.
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
The default project location is C:\Users\username\KunpengProject, which can be modified as required.
Storage path of the project to be created.
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.
- Template project
- Click Create. A dialog box is displayed, asking you whether a KAE license file has been imported. See Figure 7.
A license file is an authorization file generated using a dedicated encryption tool based on the contract signed by you and Huawei as well as the server information. After obtaining the license file, load it to iBMC and activate the permission to use iBMC. For details about how to obtain the license file, see Importing a KAE License File.
- After the hardware acceleration project is created, click Open Project to open it in the current window.Figure 8 Opening a project
Figure 9 Viewing the hardware acceleration 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.Figure 10 KAEzip_README
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.





