Rate This Document
Findability
Accuracy
Completeness
Readability

Installing the KML

Procedure

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:

      Single-node mode:

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

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

      Cluster mode:

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

      GCC: -L /usr/local/kml/lib -lkscasolver -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_EIGENSOLVER, add the following information:

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

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

      If you install the KML to a customized directory, add the directory to the LD_LIBRARY_PATH environment variable correctly. For example, if you use the dynamic library in /path/kml/lib, run the export LD_LIBRARY_PATH=/path/kml/lib:$LD_LIBRARY_PATH command on the current terminal.