---
title: 安装KML
description: "本文提供RPM包和DEB包两种安装KML方法，请参照本节内容对KML进行安装和安装后验证。使用RPM包安装时，若操作过程中使用了RPM包管理工具支持但本文档中未说明的参数，可能会引入未定义行为，请谨慎操作。"
url: https://www.hikunpeng.com/document/detail/zh/kunpengboostkithistory/240RC2/accel/kunpengaccel_kml_16_0011.html
sourcePath: /source/zh/kunpengboostkithistory/240RC2/accel/kunpengaccel_kml_16_0011.html
indexId: 9bbbe3d6504cf5f6f136e3c00c5ada7fe6a110557ad176bba2e123df3f67bbd076
---
# 安装KML

本文提供RPM包和DEB包两种安装KML方法，请参照本节内容对KML进行安装和安装后验证。使用RPM包安装时，若操作过程中使用了RPM包管理工具支持但本文档中未说明的参数，可能会引入未定义行为，请谨慎操作。

#### 安装步骤

RPM包安装

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

  - 安装到默认目录。

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


  - 安装到指定目录。

```
rpm -ivh --prefix=/path kml-
xxxx
.aarch64.rpm
```


安装结束后，系统在环境变量LD_LIBRARY_PATH中自动添加lib文件夹所在目录即“/usr/local/kml/lib”。
上述命令中涉及的xxxx代表版本号。

DEB包安装

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

```
dpkg -i 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 -lkvml -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++

    集群版：

    毕昇：-L /usr/local/kml/lib -lkscasolver -lklapack_full -lkservice -lkblas -lc++

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

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

  - 若需要使用KML_EIGENSOLVER请添加：
    毕昇：-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++ 若使用自定义目录安装方式，请正确追加环境变量LD_LIBRARY_PATH，例如：使用/path/kml/lib下的动态库，需要在当前终端执行"export LD_LIBRARY_PATH=/path/kml/lib:$LD_LIBRARY_PATH"。
