中文
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助

鲲鹏数学库加速

安装鲲鹏数学库

在一些机器学习算法中,使用到了blas、lapack等数学库实现算法中的数学运算,鲲鹏针对数学库进行了优化,针对此类算法,使用鲲鹏数学库将会提升性能。请参考如下在集群各个控制节点和计算节点上安装鲲鹏数学库。

  1. 基于aarch64架构完成netlib、jniloader相关jar包和.so文件的编译,上传到“/opt/ netlib/”路径下。

  2. 安装netlib依赖。
    1. GCC。

      若已安装,本步骤忽略,要求至少4.8.5版本以上。

      yum install gcc

    2. gfortran。
      yum install gcc-gfortran

    3. libblas
      yum install blas-devel

      验证:

      ll /usr/lib64/ | grep libblas

    4. liblapack
      yum install lapack-devel

      验证:

      ll /usr/lib64/ | grep liblapackll /usr/lib64/ | grep liblapack

  3. 获取鲲鹏blas数学库和lapack数学库,进行安装,并根据《鲲鹏数学库开发指南》生成完整功能的KML_LAPACK动态库。
  4. 创建软连接到安装好的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/*" \