Creating an EC Algorithm Project
The vectorized EC coding and decoding scheme replaces the high-order finite field multiplication of traditional scalar encoding with low-order binary XOR operations and reuses intermediate calculation results through coding orchestration to reduce the number of operands.
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 Data Compression Application. On the Data Compression Application page that is displayed, select Template project for Project Type and EC algorithm for Sample Project, and set the other parameters. See Figure 2.
Table 1 Parameter settings (1) Parameter
Description
Project Type
The options are:
- Template project
- GLZ algorithm
- CRC16 algorithm
- CRC32 algorithm
- EC algorithm
- Empty 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.
- 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. See Figure 3.
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-dc
- kunpeng-dc-devel
- Offline deployment
- kunpeng-dc
- kunpeng-dc-devel
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 or virtual machine and runs openEuler 20.03 LTS SP1, openEuler 22.03 LTS SP1, or Kylin V10 SP1 in the Kunpeng architecture, and that you have administrator permissions for the node.
- Determine whether to deploy the SDK. If you select Yes, select Online deployment or Offline deployment. See Figure 4. Click Create.
If the data compression SDK fails to be deployed, rectify the fault by following instructions in Failed to Deploy the Data Compression Application SDK.
- After the project is created, click Open Project to open it in the current window.Figure 5 Opening a project
Figure 6 Checking an EC algorithm 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.



