Rate This Document
Findability
Accuracy
Completeness
Readability

Introduction

The best practices described in this document demonstrate the functions of each tool of the Kunpeng DevKit. You can refer to these best practices when analyzing and optimizing your development projects in the Kunpeng DevKit. See Table 1.

Table 1 Best practices

Tool

Feature

Best Practice

Description

Porting Advisor

Source Code Porting

Practice 1: Porting Open Source Software smartdenovo-master

SMARTdenovo is a de novo sequence assembler for PacBio or Oxford Nanopore. It is open source software written in the C language.

Use the Porting Advisor to analyze the SMARTdenovo source package, helping to port applications.

Practice 2: Porting Megahit Source Code

Megahit is an ultra-fast and memory-efficient NGS assembler optimized for metagenomes.

Use the Porting Advisor to analyze the Megahit source package, helping to port applications.

Software Porting Assessment

Practice 1: Scanning and Analyzing netty-all-4.1.34.Final

Netty is an NIO-based client and server programming framework.

Use the Porting Advisor for assessment before porting the Netty software package.

Practice 2: Assessing CMake Software Porting - Analyzing Software Packages

CMake is an open source, cross-platform family of tools designed to build, test, and package software.

Use the Porting Advisor for assessment before porting the CMake source package.

Practice 3: Assessing Ragel Software Porting - Analyzing Installed Software

Ragel is a finite-state machine compiler. It compiles regular expression–based state machines into parsers of traditional programming languages such as C, C++, D, Java, and Ruby.

Use the Porting Advisor to assess installed Ragel software, helping to port installed applications.

Affinity Analyzer

Byte Alignment Check

Practice 1: Checking Byte Alignment of wtdbg Source Code

wtdbg is a fast and efficient genome algorithm written in C language.

Use the Affinity Analyzer to analyze development projects written in C language and provide modification suggestions for byte alignment.

Static Memory Consistency Check

Practice 1: Dynamic Memory Consistency Analysis - Automatic Compiler Repair

fifo is a common lock-free queue test demo for a single producer and consumer.

Use the Affinity Analyzer to analyze development projects written in C/C++ and provide modification suggestions.

Development Assistant

Secure Computing Applications

Practice 1: Creating an Empty Secure Computing Application Project

An empty project provides the hello-world code sample and contains the CA and TA projects for invoking.

This document uses the empty secure computing application project as an example to describe how to create, compile, and run a secure computing application project and how to deploy SDKs, helping you quickly get started with application development.

Practice 2: Creating an RSA Secure Computing Application Project

An RSA project contains source code and abundant samples, which greatly improve coding efficiency.

This document uses the RSA project as an example to describe how to create, compile, and run a secure computing application project and how to deploy SDKs, helping you quickly get started with application development.

HPC Applications

Practice 1: Creating an HPC Application Project

You can create empty, Hyper MPI, and KML projects under a Kunpeng HPC project.

This document uses the basic math library as an example to describe how to create, compile, and run an HPC application project and how to deploy SDKs, helping you quickly get started with application development.