鲲鹏数学库加速
安装鲲鹏数学库
在一些机器学习算法中,使用到了blas、lapack等数学库实现算法中的数学运算,鲲鹏针对数学库进行了优化,针对此类算法,使用鲲鹏数学库将会提升性能。请参考如下在集群各个控制节点和计算节点上安装鲲鹏数学库。
- 基于aarch64架构完成netlib、jniloader相关jar包和.so文件的编译,上传到“/opt/ netlib/”路径下。
- 安装netlib依赖。
- 获取鲲鹏blas数学库和lapack数学库,进行安装,并根据《鲲鹏数学库开发指南》生成完整功能的KML_LAPACK动态库。
- 创建软连接到安装好的blas数学库和lapack数学库。
举例:
sudo update-alternatives --install /usr/lib64/libblas.so libblas.so /usr/local/kml_blas/lib/single/libkblas.so 1000 sudo update-alternatives --install /usr/lib64/libblas.so.3 libblas.so.3 /usr/local/kml_blas/lib/single/libkblas.so 1000 sudo update-alternatives --install /usr/lib64/liblapack.so liblapack.so /usr/local/kml_lapack/lib/libklapackfull.so 1000 sudo update-alternatives --install /usr/lib64/liblapack.so.3 liblapack.so.3 /usr/local/kml_lapack/lib/libklapackfull.so 1000
验证:
sudo update-alternatives --display libblas.so sudo update-alternatives --display libblas.so.3 sudo update-alternatives --display liblapack.so sudo update-alternatives --display liblapack.so.3
使用鲲鹏数学库
运行spark时,添加如下配置:
--conf "spark.driver.extraLibraryPath=/opt/netlib" \ --conf "spark.executor.extraLibraryPath=/opt/netlib" \ --conf "spark.driver.extraClassPath=/opt/netlib/*:lib/sophon-ml-acc_2.11-1.2.0.jar:lib/sophon-mlcore_2.11-1.2.0.jar:lib/sophon-ml-kernel-2.11-1.2.0-aarch_64.jar" \ --conf "spark.executor.extraClassPath=/opt/netlib/*" \
父主题: 算法性能调优指南