---
title: 安装KML
description: "RPM包安装"
url: https://www.hikunpeng.com/document/detail/zh/kunpengaccel/math-lib/devg-kml/kunpengaccel_kml_0006.html
sourcePath: /source/zh/kunpengaccel/math-lib/devg-kml/kunpengaccel_kml_0006.html
indexId: 2ccbf500687a02da7ac5f322a2385165c05f989bfcbab0d1947ccb24b67c613d68
---
# 安装KML

#### 安装步骤

RPM包安装

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

  - 安装到默认目录。

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


  - 安装到指定目录。

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


上述命令中涉及的xxxx代表版本号。
如果安装在默认目录，安装结束后，系统在环境变量LD_LIBRARY_PATH中自动添加lib文件夹所在目录即“/usr/local/kml/lib/noarch/kvml/multi:/usr/local/kml/lib/noarch/kvml/single:/usr/local/kml/lib/noarch:/usr/local/kml/lib:/usr/local/kml/lib/neon/kspblas/multi:/usr/local/kml/lib/neon/kspblas/single:/usr/local/kml/lib/neon/kblas/pthread:/usr/local/kml/lib/neon/kblas/omp:/usr/local/kml/lib/neon/kblas/locking:/usr/local/kml/lib/neon/kblas/nolocking:/usr/local/kml/lib/neon”。
如果安装在指定目录/path，安装结束后，系统在环境变量LD_LIBRARY_PATH中自动添加lib文件夹所在目录即“/path/kml/lib/noarch/kvml/multi:/path/kml/lib/noarch/kvml/single:/path/kml/lib/noarch:/path/kml/lib:/path/kml/lib/neon/kspblas/multi:/path/kml/lib/neon/kspblas/single:/path/kml/lib/neon/kblas/pthread:/path/kml/lib/neon/kblas/omp:/path/kml/lib/neon/kblas/locking:/path/kml/lib/neon/kblas/nolocking:/path/kml/lib/neon”。

DEB包安装

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

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


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

  安装结束后，系统在环境变量LD_LIBRARY_PATH中自动添加lib文件夹所在目录即“/usr/local/kml/lib/noarch/kvml/multi:/usr/local/kml/lib/noarch/kvml/single:/usr/local/kml/lib/noarch:/usr/local/kml/lib:/usr/local/kml/lib/neon/kspblas/multi:/usr/local/kml/lib/neon/kspblas/single:/usr/local/kml/lib/neon/kblas/pthread:/usr/local/kml/lib/neon/kblas/omp:/usr/local/kml/lib/neon/kblas/locking:/usr/local/kml/lib/neon/kblas/nolocking:/usr/local/kml/lib/neon”。


#### 安装后验证

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/neon/kblas/nolocking -lkblas
    - 单线程加锁版本：-L /usr/local/kml/lib/neon/kblas/locking -lkblas
    - pthread实现多线程版本：-L /usr/local/kml/lib/neon/kblas/pthread -lkblas
    - OpenMP实现多线程版本：-L /usr/local/kml/lib/neon/kblas/omp -lkblas
  - 若需要使用KML_VML请添加：

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

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

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

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

  - 若需要使用KML_SOLVER请添加：
    单机版：

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

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

    集群版：

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

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

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

  - 若需要使用KML_EIGENSOLVER请添加：
    毕昇：-L /usr/local/kml/lib/neon -lkes -lklapack_full -lkscalapack_full -lkservice -lkblas -lc++

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