安装KML
本文提供RPM包和DEB包两种安装KML方法,请参照本节内容对KML进行安装和安装后验证。使用RPM包安装时,若操作过程中使用了RPM包管理工具支持但本文档中未说明的参数,可能会引入未定义行为,请谨慎操作。
安装步骤
RPM包安装
- 按照获取软件包获取到KML软件包,解压后得到二进制RPM包。
- 安装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包安装
- 按照获取软件包获取到KML软件包,解压后得到二进制DEB包。
- 安装KML。
dpkg -i kml-xxxx.aarch64.deb
安装结束后,系统在环境变量LD_LIBRARY_PATH中自动添加lib文件夹所在目录即“/usr/local/kml/lib”。
上述命令中涉及的xxxx代表版本号。
安装后验证
- 执行source命令或重新登录终端让环境变量生效。
source /etc/profile
- 查看环境变量LD_LIBRARY_PATH是否包含KML的安装路径“/usr/local/kml/lib”。
env | grep LD_LIBRARY_PATH
如果变量包含安装路径,说明安装成功。
安装成功后在安装路径(默认路径是“/usr/local/kml”)下生成相应文件,其中,include文件夹包含子库的头文件,lib文件夹包含了数学库的动态库文件。
- 使用时,请在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++
集群版:
毕昇:-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"。
- 若需要使用KML_BLAS请添加: