Rate This Document
Findability
Accuracy
Completeness
Readability

Installation and Usage

How Do I Install the Porting Advisor?

When Linux software or source code on the x86 platform needs to be ported to the Kunpeng platform, the Kunpeng DevKit Porting Advisor can automatically analyze content that needs to be replaced or modified. It provides user-friendly analysis reports, modification guidance, and quick fix capabilities to help quickly migrate their software. In addition, it offers Kunpeng affinity analysis to further improve code quality on the Kunpeng platform. The Porting Advisor supports three working modes: IDE plugin (VS Code), WebUI, and CLI. It comprises a client and a server, both of which become available after installing the Kunpeng DevKit and Porting Advisor.

Do All Detected Architecture-Compatibility Files Need to Be Modified or Replaced?

In principle, it is recommended that all these files be replaced. However, depending on the workload and application scenarios, you can verify dependency compatibility based on compilation and runtime errors.

Do I Need to Translate the Instructions Again After Restarting the Application?

Yes. ExaGear performs dynamic translation and does not modify the x86 application's binary file. Translation occurs only during execution.

Does the Kunpeng DevKit Support Diagnosis and Tuning on x86 Servers?

No. The Kunpeng DevKit supports diagnosis and tuning only on servers powered by Kunpeng 920 processors. The supported OSs include openEuler 20.03 LTS, CentOS 7.6, Kylin V10, and Ubuntu 18.04.1.

Where Is the Data Collected by the Kunpeng DevKit for Tuning and Diagnosis?

Source data collected by the DevKit for performance profiling is stored in /opt/DevKit/tools/rpc_cluster/server/storage/server/.

How Do I View Real-Time Memory Frequency in the Kunpeng DevKit?

The DevKit can collect memory usage over a period of time, but users cannot view memory usage in real time. Real-time Java Profiler result information is not supported.

How Do I Select the Compiler Version and Build Tool When Using the Porting Advisor to Port Source Code?

Select the compiler version that matches your environment. The build tool depends on how the software build files are configured.

  • If a Makefile is used, select Make.
  • If CMakeLists is used, select CMake.

How Do I Install Subtools When Installing the Kunpeng DevKit on an Intranet?

To install the Kunpeng DevKit on an intranet, obtain the full installation package from the Kunpeng DevKit Download Center and install all subtools.

Select an installation mode:
  [1] : Install the DevKit framework and all plugins
  [2] : Install the DevKit framework and selected plugins
  [3] : Install the DevKit framework
Enter the sequence number of the tool to be installed (default: 1):

The installation requires Yum or APT dependencies. If the OS cannot connect to the Internet, configure a local repository that meets the tool requirements. For details, see Configuring the OS Yum, APT, or Zypper Source.

Can I Use the DevKit Offline After Installing It Online in VS Code?

The VS Code end and Linux server can be deployed in the same LAN because the Nginx service is involved.

Can I Change the Default Installation Path When Installing the DevKit in VS Code?

In an offline installation, the default installation path cannot be changed. In an online installation, the temporary path for storing the installation package cannot be changed.

What Are the Main Differences Between Software Porting Assessment and Source Code Porting?

The source code porting feature analyzes source files in C, C++, ASM, Fortran, interpreted languages, and assembly. It identifies the code that requires porting and provides porting guidance. It supports porting editing and quick fixes. The software porting assessment feature automatically scans and analyzes software packages (non-source code packages) and installed software, and provides portability assessment reports but no source code suggestions.

How Do I Fill in the Dependency Dictionary Import Template?

Importing a dependency dictionary is optional. A default dictionary is included with the tool. To add custom dependencies, fill in the provided dictionary template and import it. You can click Template Table to obtain the dictionary template. Check that entered URLs are reachable and the name of an imported dictionary must be the same as the template name.

Why Does MPI+OpenMP Refined Analysis Fail on openEuler?

The built-in MPI tool of openEuler is MPICH of an earlier version. Currently, HPC application analysis tasks support only MPICH 4.0.3 and later.

Why Is No Flame Graph Generated When Using the System Profiler to Analyze Hotspot Functions?

No flame graphs are displayed in the following scenarios:

  1. Your browser version is outdated. It is recommended to use a more recent version of Google Chrome or Edge.
  2. A large amount of data has been collected, causing the flame graph to exceed the size limit allowed by the browser. Please clear the browser cache and try again.
  3. You can manually download /opt/DevKit/tools/rpc_cluster/server/storage/server/{task_id}/{ip}/hotspot/Flamegraph-{timestamp}.html and view the simple flame graph. The simple version has little dependency on the browser.

How Do I Retrieve My DevKit Account Password?

If you are a common user, contact the administrator (devadmin) to reset the password. For details, see Resetting a Password.

Are There Any Specific Memory Requirements for Installing or Using DevKit?

To install the DevKit, ensure that the system has at least 8 GB free memory. If the memory configuration is low, DevKit installation is not affected. However, some tools and features require higher memory during operation, for example, the memory consistency check feature of the Affinity Analyzer (the larger the codebase, the more resources it consumes).

If the resource requirements vary between DevKit features, they will be described in the corresponding feature documentation.

For details about the memory consistency check requirements, see Static Memory Consistency Check.

When Using the Java Profiler on a Linux Desktop System, a Message Appears Indicating Installation to the Root Directory for the Target Environment but the Certificate Import Option Is Unavailable

This scenario is not planned and has not been verified in the internal environment. Therefore, you are advised to:

  • Import the certificate file to the Linux desktop system. For example:
    1. Download the ca.crt certificate file to the root directory.
    2. Copy the ca.crt certificate file to the certificate directory.
      cp ca.crt /etc/pki/ca-trust/source/anchors/
    3. Switch to the certificate directory and view the certificate.
      cd /etc/pki/ca-trust/source/anchors/
      ls
    4. Load the certificate.
      update-ca-trust extract
  • Install the certificate on Ubuntu.

    Upload the downloaded ca.crt certificate to the /usr/local/share/ca-certificates/ or /usr/share/ca-certificates/ directory and run the following command:

    update-ca-certificates 

    or:

    dpkg-reconfigure ca-certificates

    Restart the CodeArts IDE and add the node again.

Software Porting Assessment Indicates That the Report Does Not Exist and Prompts the User to Scan Again

The possible cause is insufficient permissions on the file upload path. If the target software or source code is uploaded to the backend, you need to manually grant the owner permission on the analysis path. For details, see Uploading a Large File. Ensure that the owner is set to devkit. For example, in software porting assessment, the analysis path is /opt/DevKit/workspace/devadmin/porting/package/. Verify the owner permissions of the porting/package/ directory.

How Can Be SIMD Vectorization Enabled?

For details about SIMD, see SIMD Instruction Set.

You are advised to install the Kunpeng DevKit, use the vectorization check feature of the Affinity Analyzer to analyze the overall software code, and modify the code based on the vectorization suggestions.

Is the Proportion of a Metric in the Top-Down Result of the DevKit CLI Equal to the Sum of the Proportions of Its Corresponding Events?

Some levels do not sum precisely in microarchitecture analysis results of the DevKit. This method is primarily used for identifying potential performance issues: by comparing the proportions of events within a level, you can locate bottlenecks. However, the total of the proportions of events at a given level may not exactly match the total proportion reported for that level.

Why Does the DDR Bandwidth Triggered by the Same Script Differ Greatly on Different NUMA Nodes?

The DDRC traffic distribution varies according to core pinning. If the difference is large, DDRC traffic may increase due to cache misses when different NUMA nodes are bound. Script execution logic, along with CPU core and memory usage, can affect cache behavior. Increased cache misses can lead to longer program execution times. By analyzing the time required for different NUMA node bindings, you can identify potential optimization points.

Are There Other Ways to View the Exported Hotspot Functions Scanned Using the DevKit?

You can output an HTML report using the CLI and view it in a web browser. For details, see Kunpeng DevKit User Guide (CLI).

Will the DevKit Be Affected If a Dependency Package Is Missing During Installation?

During installation, there are two types of dependency packages: mandatory and optional. You can install them as prompted.

  • Mandatory dependency packages: If they are missing, the DevKit installation will fail.
  • Optional dependency packages: If the DevKit installation is successful without these packages, they can be ignored. This does not affect the normal use of the DevKit, but some functionality may be limited. If you choose to install optional dependency packages, set the repositories or compile them separately and set environment variables.

How Do I Install BiSheng JDK 21 Using the DevKit Pipeline?

The DevKit Pipeline does not support batch installation of BiSheng JDK 21. Only BiSheng JDK 8 and BiSheng JDK 17 can be installed in batches.

Install BiSheng JDK 21 and other JDK versions in either of the following ways:

  • Independent installation: Download the BiSheng JDK installation package and install it on the server.
  • Batch installation: Obtain four script files by following instructions in Installing the BiSheng JDK in Batches and batch install the BiSheng JDK using the script files.

    Use the password configured for the installation.

    • update_to_bisheng_jdk_in_batchs.sh: script for batch installing the JDK.
    • unpack_and_modify.sh: dependency file for update_to_bisheng_jdk_in_batchs.sh, which is used for remote extraction and installation.
    • ip.all: dependency file for check_java_home_and_path_in_batch.sh and update_to_bisheng_jdk_in_batchs.sh, which is the IP address for batch installation or verification.
    • check_java_home_and_path_in_batch.sh: checks whether the batch JDK installation is successful.