Rate This Document
Findability
Accuracy
Completeness
Readability

Installing the KML

This section describes how to install the KML using RPM packages and DEB packages and verify the installation.

Procedure

Before installing RPM packages that are compiled using the BiSheng Compiler, ensure that the BiSheng Compiler has been installed in your environment. For details, see BiSheng Compiler Installation Guide.

Installation using the RPM package

  1. Obtain the KML software package by referring to Obtaining Software Packages and decompress it to obtain the binary RPM package.
  2. Install the KML.
    • Install it to the default directory.
      rpm -ivh boostkit-kml-xxxx.aarch64.rpm
    • Install it to a specified directory.
      rpm -ivh --prefix=/path boostkit-kml-xxxx.aarch64.rpm

    After the installation, the system automatically adds the path to the lib folder, that is, /usr/local/kml/lib, to the environment variable LD_LIBRARY_PATH.

    In the preceding command, xxxx indicates the version number.

Installation using the DEB package

  1. Obtain the KML software package by referring to Obtaining Software Packages and decompress it to obtain the binary DEB package.
  2. Install the KML.
    dpkg -i boostkit-kml-xxxx.aarch64.deb

    After the installation, the system automatically adds the path to the lib folder, that is, /usr/local/kml/lib, to the environment variable LD_LIBRARY_PATH.

    In the preceding command, xxxx indicates the version number.

Verifying the Installation

  1. Run the source command or log in to the terminal again for the environment variables to take effect.
    source /etc/profile
  2. Check whether the environment variable LD_LIBRARY_PATH contains the KML installation path /usr/local/kml/lib.
    env | grep LD_LIBRARY_PATH

    If the variable contains the installation path, the installation is successful.

    After the installation, the corresponding files are generated in the installation path (the default path is /usr/local/kml). The include folder contains the header files of the sublibraries, and the lib folder contains the dynamic library files of the KML.

  3. Add the path of the dynamic library to the GCC compilation option to link the required dynamic library file. Then run the ldd command to check that the dependency library of the program is correctly linked.
    • To use KML_BLAS, add the following information:
      • Single-thread version without locking: -L /usr/local/kml/lib/kblas/nolocking -lkblas
      • Single-thread version with locking: -L /usr/local/kml/lib/kblas/locking -lkblas
      • Multi-thread version using pthread: -L /usr/local/kml/lib/kblas/pthread -lkblas
      • Multi-thread version using OpenMP: -L /usr/local/kml/lib/kblas/omp -lkblas
    • To use KML_VML, add the following information:
      • Single-thread version: -L /usr/local/kml/lib/kvml/single -lkvml -lkm
      • Multi-thread version: -L /usr/local/kml/lib/kvml/multi -lkvm -lkm
    • To use KML_SPBLAS, add the following information:
      • Single-thread version: -L /usr/local/kml/lib/kspblas/single -lkspblas
      • Multi-thread version: -L /usr/local/kml/lib/kspblas/multi -lkspblas
    • To use KML_FFT, add the following information:
      • Single-precision version: -L /usr/local/kml/lib -lkfftf
      • Double-precision version: -L /usr/local/kml/lib -lkfft
    • To use KML_MATH, add the following information:
      • High-performance version: -L /usr/local/kml/lib -lkm -lm
      • High-precision version: -L /usr/local/kml/lib -lkm_l9 -lm
    • To use KML_SVML, add -L /usr/local/kml/lib -lksvml -lm.
    • To use KML_VSL, add -L /usr/local/kml/lib -lkvsl.
    • To use KML_LAPACK:

      Generate a complete LAPACK library according to Generating a Complete LAPACK Library and then add -L /usr/local/kml/lib -L/usr/local/kml/lib/kblas/omp -lklapack -lkblas.

    • To use KML_SOLVER, add the following information:

      BiSheng: -L /usr/local/kml/lib -lksolver -lklapack_full -lkservice -lkblas -lc++

      GCC: -L /usr/local/kml/lib -lksolver -lklapack_full -lkservice -lkblas -lstdc++

    • To use KML_ScaLAPACK:

      Generate a complete ScaLAPACK library according to Generating a Complete ScaLAPACK Library, and then add -L /usr/local/kml/lib -lkscalapack -lklapack -lkservice -lkblas.

    • To use KML_SCASOLVER, add the following information:

      BiSheng: -L /usr/local/kml/lib -lksolver -lklapack_full -lkservice -lkblas -lc++

      GCC: -L /usr/local/kml/lib -lksolver -lklapack_full -lkservice -lkblas -lstdc++