Rate This Document
Findability
Accuracy
Completeness
Readability

Introduction

The Compiler and Debugger allows you to deploy Kunpeng compilers in one click and debug GPU-based applications in a single-node system. It leverages CUDA-GDB debugging to debug GPU-based applications on a unified page. It also supports parallel debugging of applications on multiple nodes in HPC scenarios and remote compilation and debugging on the Kunpeng platform.

Table 1 Functions

Function

Description

Compiler deployment

You can deploy GCC for openEuler, BiSheng JDK, and BiSheng Compiler with a few clicks.

Common compilation

Common compilation provides basic remote compilation capabilities and supports visualized compilation parameter configuration, one-click compilation, and real-time display of compilation information.

Automatic FDO compilation

Automatic feedback-directed optimization (FDO) is a technique that simplifies the PGO deployment process. It samples program runtime profile to indirectly obtain the program execution status.

General application

General application debugging provides remote debugging capabilities on the Kunpeng and Phytium platforms and a graphical user interface (GUI), improving debugging efficiency.

Parallel HPC application

The Compiler and Debugger supports concurrent debugging on multiple nodes in HPC scenarios. MPI applications can only be debugged in launch mode. Parallel computing involves task parallelism and data parallelism. That is, different tasks are executed or different data is stored on different nodes. Currently, parallel HPC tasks support only CPU debugging.

CUDA application debugging

The Compiler and Debugger allows you to debug CUDA programs on the Kunpeng platform. It leverages CUDA-GDB to debug GPU applications on a unified interface.

Security application debugging

After you create a Java or Python project in the Development Assistant, a general compilation task and a security application debugging task are generated in the Compiler and Debugger. You can compile and run the tasks based on your requirements or create a security application debugging task on your own.

DPU debugging

The Compiler and Debugger supports DPU debugging based on the Kunpeng platform to implement the DPU X Debugger (XDB) debugging capability. The XDB is a DPU debugging tool. It allows you to debug microcode programs on CPUs by using the GNU debugger (GDB), view registers, local variables, single-port RAM (spram), thread variables, and call stacks, and set breakpoints and monitoring.

  • The Compiler and Debugger uses lldb-server and cuda-gdbserver to debug parallel HPC applications and CUDA applications. For security purposes, you are advised to deploy lldb-server and cuda-gdbserver only in the development environment because they listen to all IP addresses on the host when being started.
  • LDAP is a permission management solution for shared directories. The Compiler and Debugger has been adapted to LDAP.
  • Common compilation, automatic FDO compilation, and general application running and debugging are supported on the Kunpeng development board.