Rate This Document
Findability
Accuracy
Completeness
Readability

Creating an HAF Project

The homogeneous acceleration framework (HAF) allows you to add annotations to offload tasks from the host to the offload node for execution. In this way, device capabilities can be fully utilized or near-data processing can be implemented, thereby reducing development workload.

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

  1. 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.
    Figure 1 Kunpeng Application Projects
  2. Click General-purpose Computing Application. The General-Purpose Computing Application page is displayed. See Figure 2.
    Figure 2 General-purpose Computing Application
  3. Click HAF Application. On the left pane of the page that is displayed, select Template project or Empty project for Project Type, and set other parameters. See Figure 3 and Figure 4.
    Figure 3 Creating a template project
    Figure 4 Creating an empty project
    Table 1 Parameter settings (1)

    Parameter

    Description

    Project Type

    The options are:

    • Template project
      • Homogeneous Programming
    • 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.

  4. Click Next to configure the target node, including its node properties and owning server. 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. The node properties can be set to a host node or an offload node.
    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.

    Node Properties

    The options are:

    • Host node
    • Offload node

    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.
  5. Determine whether to deploy the SDK. If you select Yes, select Online deployment, Offline deployment, or Configure later. See Figure 6. Click Create.
    Figure 6 Deploying the SDK

    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.

  6. After the HAF project is created, click Open Project to open it in the current window.
    Figure 7 Opening a project
    Figure 8 Viewing the HAF Project
  7. Use the Compiler and Debugger to compile, run, and debug the new project. For details, see the README file in the project folder.

    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.

  8. Right-click the function code area in the Java file of your project and choose [Kunpeng] Homogeneous Acceleration Framework Programming Assistance from the short-cut menu to add annotations to a function. See Figure 9.
    Figure 9 HAF programming assistance
    Figure 10 Function annotations

    HAF programming assistance is available only for Java files. Annotations cannot be added to non-functions or static functions.