Rate This Document
Findability
Accuracy
Completeness
Readability

25.1.RC1

Change Description

Scenario

Change Description

Common components and the framework

Added support for GCC for openEuler 3.0.2.

Porting Advisor

  • Removed the dedicated software porting function.
  • Added the function of scanning and identifying the Bazel build tool and providing porting suggestions for source code porting.
  • Added the function of identifying the -Werror=conversion compilation option in CMakeLists and providing error alarms for source code porting.
  • Added support for ifort syntax porting in source code porting. The supported versions are 21.1, 18.1, and 23.2.

System Migration

  • Added the SQL syntax conversion capability to support the following migration paths: MySQL -> DM, MySQL -> Vastbase, and DB2 -> GoldenDB.
  • Added the automatic writeback capability for SQL source code. The supported database migration paths are MySQL -> DM and DB2 -> GoldenDB. The supported source file types are Java and XML.
  • SQL compatibility assessment supports new migration paths: MySQL > Vastbase and DB2 > GoldenDB.
  • Added the function of configuration scanning for source package migration.
  • Added the capability of using the local node as the migration node and provided the command copying capability.
  • If a system migration task fails or is canceled, you can retry the task. In addition, you can edit the system components on the task creation page and restart the migration.
  • The ledger scanning capability on the CLI supports the display of component paths. Up to 18 pieces of frequently used software are integrated into the tool.
  • Usability enhancement: The functions of VM image migration, manual migration, and source package migration only are completely separated from each other. The estimated migration duration is provided after the component selection is complete.
  • Removed the SM algorithm check function from System Migration.

Affinity Analyzer

  • Added incremental compilation in C to calculation precision analysis.
  • Added the function of instrumenting code snippets of specific variables in C to calculation precision analysis.
  • Added the capability of identifying math library functions and providing suggestions to calculation precision analysis.
  • Added the function of instrumenting C pointers to calculation precision analysis.
  • Added the following technologies to domain optimization: unit step calculation optimization, optimized default number of OpenMP threads, array dimension transposition, constant calculation elimination, and parallelization of reduction calculation.
  • Optimized matricization scan performance for domain optimization.
  • Enhanced the K-NET data display capability by optimizing the display of sequence diagrams and adding application network I/O feature analysis diagrams.
  • Added the function of using the K-NET to detect complex compatibility rules such as port/address reuse, and enhanced the capability of collecting parameters of structure pointers.
  • Added the capabilities of starting and stopping collection of external signals to the dynamic memory consistency tool.

Development Assistant

  • Added the Java Vector Helper plugin package to scan the Java source code and automatically complete vectorization reconstruction to improve the running efficiency.
  • Removed the HCOM function.

Compiler and Debugger

  • Added the attach debugging for MPI and MPI+OpenMPI programs to the HPC Debugger CLI. This function requires using the srun method of the Slurm scheduler.

System Profiler

  • Added CPU frequency statistics to hotspot function analysis, and display of assembly and C/C++ code percentages.
  • Enhanced the functions of the AutoTuner CLI:
    • Added support for the YAML format and added configuration file comments.
    • Added the function description manual.
    • Added more system parameters, such as binding NICs to cores.
  • Added the System Profiler CLI:
    • Added the capability of collecting and comparing basic performance metrics of AMD and Intel x86.
    • Added analysis of on-off CPU hotspot functions.
    • Added the capability of collecting L2 and L3 miss latency metrics.
    • Added steady-state analysis subcommands.
    • Added hybrid performance analysis of MySQL, Flink, Redis, Spark, Kafka, and openGauss logs.
  • Removed the MPI point-to-point communication top N inefficient communications analysis, tuning assistant, AI tuning, process/thread analysis, and reservation functions.

Java Profiler

None

System Diagnosis

  • Added the Kunpeng Health Checker (CLI mode), which collects information about all modules or a single module (the BMC collection can be skipped and remote collection is supported), provides the report comparison function, supports report output in HTML format, and allows users to customize diagnosis cases.
  • Reduced the UTgen installation package size and optimized timeout messages.
  • Added the PMU collection capability to the Tracer and enhanced the performance and usability.
  • Removed the scheduled task function, DPC and NFS scenarios in storage I/O, and RDMA scenario in network I/O. Removed the function of scanning for non-SM algorithms.

Resolved Issues

Trouble Ticket No.

DTS2025030427370

Symptom

When debugging an HPC application that uses 2048 ranks, execute the MPI_INIT function and then the debugging command. The error message "All ranks has exited" is displayed even though the application running has not completed.

Severity

Minor

Solution

  1. The DevKit HPC Debugger checks whether the port is occupied before lldb-server is started. If the port is occupied, the DevKit HPC Debugger attempts to use the next port with the step added by 1 (the maximum number of attempts is 40). If the port is not occupied, start lldb-server. If the port is occupied during this period, the Agent reports a message indicating that the port is occupied and prints logs.
  2. When the lldb-server main process exits, the sub-processes created by the lldb-server main process are not explicitly reclaimed. An issue has been submitted to the LLVM community to trigger sub-process resource reclamation before the lldb-server main process exits.

Affected Domain

The added environment variable is valid only for the current debugging task. It is transferred through the debugger parameter and becomes invalid after it is executed, incurring no impact on any other task. The tool usage does not affect the MPI program compilation and running or the running of existing tasks in the cluster.

Possible Causes

The residual subprocess after the debugging framework lldb-server exits unexpected conflicts with the global storage lock of the PMIx-Client module during OpenMPI running. As a result, the MPI running environment fails to be initialized.

Known Issues

Trouble Ticket No.

DTS2025042314346

Symptom

[VS Code] [Compiler and Debugger Plugin - HPC debugging] The variable values are abnormal. All variable values are displayed as 0 when the debugging demo is yyy_test_variable90.a.

Severity

Minor

Workaround

None

Affected Domain

  1. If you use the GCC to compile such source code, the variables are incorrectly displayed (the actual values are correct). This problem affects the information display on the debugging frontend but does not affect the tool functions.
  2. Statistics show that this problem affects approximately 1.5% (9 out of 694) of ultra-large derived types in top HPC applications, resulting in limited overall impact.

Progress

  1. The documentation has been updated to describe this problem that affects ultra-large derived types in Fortran.
  2. Proceed to analyze the feasibility of reading register offsets using the extended LLDB.