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

开启oneDNN/ACL加速

oneDNN/ACL加速会启用oneDNN、ACL作为PyTorch的后端计算库,为深度学习等任务提供最佳性能,若您需要此加速功能请参照本节内容进行安装。安装过程中请根据实际情况替换安装路径。

  1. 获取ACL源码。
    1. 下载ACL源码。

      下载地址:https://github.com/ARM-software/ComputeLibrary/archive/refs/tags/v23.08.tar.gz

    2. 使用SFTP工具将源码上传至服务器。

    若服务器可以访问网络,则可以直接在服务器上使用wget命令下载源码。

    1
    wget https://github.com/ARM-software/ComputeLibrary/archive/refs/tags/v23.08.tar.gz --no-check-certificate
    
  2. 解压ACL源码包。
    1
    tar -xzvf v23.08.tar.gz
    
  3. 进入“/path/to/ComputeLibrary-23.08”目录。
    1
    cd /path/to/ComputeLibrary-23.08
    
  4. scons构建。
    1
    scons Werror=1 -j8 debug=0 neon=1 opencl=0 os=linux arch=armv8a build=native
    
  5. 设置ACL环境变量。
    1
    export ACL_ROOT_DIR=/path/to/ComputeLibrary-23.08
    
  6. 验证。
    1. 进入“build”目录。
      1
      cd build
      
    2. 设置ACL动态库的环境变量。
      1
      export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/path/to/ComputeLibrary-23.08/build/
      
    3. 执行example用例。
      1
      ./examples/neon_cnn
      

  7. (可选)如果安装过PyTorch,需要先清理旧的编译文件。
    1. 进入“/path/to/pytorch”目录。
      1
      cd /path/to/pytorch
      
    2. 删除构建目录。
      1
      rm -rf ./build
      
  8. 请参见基本安装安装PyTorch,其中,步骤5环境变量增加以下几项:
    1
    2
    export USE_MKLDNN=1
    export USE_MKLDNN_ACL=1
    

    USE_MKLDNN:设置为1,表示启用oneDNN库优化推理计算。

    USE_MKLDNN_ACL:设置为1,表示在启用USE_MKLDNN的基础上启用ACL的能力。

  9. 安装检查。
    1. 检查目录是否包含oneDNN的静态库文件。
      1
      ls build/lib | grep dnnl
      

      结果如下图所示则表示包含了oneDNN静态库文件。

    2. 检查libtorch.so的软连接是否包含ACL库的so文件。
      1
      ldd build/lib/libtorch.so | grep compute
      
      结果如下所示则表示包含了ACL库的so文件。
      1
      2
      3
      libarm_compute.so => /path/to/ComputeLibrary-23.08/build/libarm_compute.so (0x0000ffff9ca99000)
      libarm_compute_graph.so => /path/to/ComputeLibrary-23.08/build/libarm_compute_graph.so (0x0000ffff9c9b7000)
      libarm_compute_core.so => /path/to/ComputeLibrary-23.08/build/libarm_compute_core.so (0x0000ffff9c996000)