---
title: 安装KML
description: "安装毕昇版本的KML RPM包时需确保系统已安装毕昇编译器。毕昇编译器安装方式请参见毕昇编译器 安装说明(https://docs.openeuler.org/zh/docs/20.03_LTS_SP3/docs/thirdparty_migration/bisheng.html)安装。"
url: https://www.hikunpeng.com/document/detail/zh/kunpengboostkithistory/230RC2/accel/kunpengaccel_kml_16_0011.html
sourcePath: /source/zh/kunpengboostkithistory/230RC2/accel/kunpengaccel_kml_16_0011.html
indexId: 771947c16eaefe153a56a3d8390235f00ee209eb8cfda881111252fecd85e16f76
---
# 安装KML

#### 安装步骤

安装毕昇版本的KML RPM包时需确保系统已安装毕昇编译器。毕昇编译器安装方式请参见毕昇编译器 安装说明(https://docs.openeuler.org/zh/docs/20.03_LTS_SP3/docs/thirdparty_migration/bisheng.html)安装。

在安装毕昇版本的KML过程中可能提示缺失libomp.so，有以下两种解决办法：

- 若使用软件包方式安装毕昇编译器，使用rpm -ivh xxx.rpm --force --nodeps命令安装KML。
- 若使用yum源方式安装毕昇编译器，请参见  毕昇编译器 安装说明(https://docs.openeuler.org/zh/docs/20.03_LTS_SP3/docs/thirdparty_migration/bisheng.html)
安装完毕昇编译器后再安装KML。


RPM包安装

1. 按照获取软件包获取到KML软件包，解压后得到二进制RPM包。
2. 安装KML。

```
rpm -ivh boostkit-kml-
xxxx
.aarch64.rpm
```


  安装结束后，系统在环境变量LD_LIBRARY_PATH中自动添加lib文件夹所在目录即“/usr/local/kml/lib”。

  上述命令中涉及的xxxx代表版本号。


DEB包安装

1. 按照获取软件包获取到KML软件包，解压后得到二进制DEB包。
2. 安装KML。

```
dpkg -i boostkit-kml-
xxxx
.aarch64.deb
```


  安装结束后，系统在环境变量LD_LIBRARY_PATH中自动添加lib文件夹所在目录即“/usr/local/kml/lib”。

  上述命令中涉及的xxxx代表版本号。


#### 安装后验证

1. 执行source命令或重新登录终端让环境变量生效。

```
source /etc/profile
```


2. 查看环境变量LD_LIBRARY_PATH是否包含KML的安装路径“/usr/local/kml/lib”。

```
env | grep LD_LIBRARY_PATH
```


  如果变量包含安装路径，说明安装成功。

  安装成功后在安装路径（默认路径是“/usr/local/kml”）下生成相应文件，其中，include文件夹包含子库的头文件，lib文件夹包含了数学库的动态库文件。

3. 使用时，请在GCC编译选项中添加动态库所在路径，链接需要使用的动态库文件，添加编译选项后用ldd指令检查程序依赖库是否准确链接。

  - 若需要使用KML_BLAS请添加：

    - 单线程不加锁版本：-L /usr/local/kml/lib/kblas/nolocking -lkblas
    - 单线程加锁版本：-L /usr/local/kml/lib/kblas/locking -lkblas
    - pthread实现多线程版本：-L /usr/local/kml/lib/kblas/pthread -lkblas
    - OpenMP实现多线程版本：-L /usr/local/kml/lib/kblas/omp -lkblas
  - 若需要使用KML_VML请添加：

    - 单线程版本：-L /usr/local/kml/lib/kvml/single -lkvml -lkm
    - 多线程版本：-L /usr/local/kml/lib/kvml/multi -lkvm -lkm
  - 若需要使用KML_SPBLAS请添加：

    - 单线程版本：-L /usr/local/kml/lib/kspblas/single -lkspblas
    - 多线程版本：-L /usr/local/kml/lib/kspblas/multi -lkspblas
  - 若需要使用KML_FFT请添加：

    - 单精度版本：-L /usr/local/kml/lib -lkfftf
    - 双精度版本：-L /usr/local/kml/lib -lkfft
  - 若需要使用KML_MATH请添加：

    - 高性能版本：-L /usr/local/kml/lib -lkm -lm
    - 高精度版本：-L /usr/local/kml/lib -lkm_l9 -lm
  - 若需要使用KML_SVML请添加：-L /usr/local/kml/lib -lksvml -lm
  - 若需要使用KML_VSL请添加：-L /usr/local/kml/lib -lkvsl
  - 若需要使用KML_LAPACK：
    请先根据生成完整的LAPACK生成完整的LAPACK，然后添加-L /usr/local/kml/lib -L/usr/local/kml/lib/kblas/omp -lklapack -lkblas

  - 若需要使用KML_SOLVER请添加：
    毕昇：-L /usr/local/kml/lib -lksolver -lklapack_full -lkservice -lkblas -lc++

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

  - 若需要使用KML_SCALAPACK：
    请先根据生成完整的SCALAPACK生成完整的SCALAPACK，然后添加-L /usr/local/kml/lib -lkscalapack -lklapack -lkservice -lkblas

  - 若需要使用KML_SCASOLVER请添加：
    毕昇：-L /usr/local/kml/lib -lksolver -lklapack_full -lkservice -lkblas -lc++

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