---
title: 开启oneDNN/ACL加速
description: "oneDNN/ACL加速会启用oneDNN、ACL作为PyTorch的后端计算库，为深度学习等任务提供最佳性能，若您需要此加速功能请参照本节内容进行安装。安装过程中请根据实际情况替换安装路径。"
url: https://www.hikunpeng.com/document/detail/zh/SRA/ecosystemEnable/PyTorch/kunpengpytorch_02_0012.html
sourcePath: /source/zh/SRA/ecosystemEnable/PyTorch/kunpengpytorch_02_0012.html
indexId: a4ef85e32f5e8a4bb92a8a072a5c2c5a5d5702743b2057120d34dcd2f3a6f69166
---
# 开启oneDNN/ACL加速

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

1. 获取ACL源码。

  a. 下载ACL源码    v23.08.tar.gz(https://github.com/ARM-software/ComputeLibrary/archive/refs/tags/v23.08.tar.gz)
。
  b. 使用SFTP工具将源码上传至服务器。
若服务器可以访问网络，则可以直接在服务器上使用wget命令下载源码。

```
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. 验证。

  a. 进入“build”目录。
    1 cd build

  b. 设置ACL动态库的环境变量。
    1 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/path/to/ComputeLibrary-23.08/build/

  c. 执行example用例。
    1 ./examples/neon_cnn

7. （可选）如果安装过PyTorch，需要先清理旧的编译文件。

  a. 进入“/path/to/pytorch”目录。
    1 cd /path/to/pytorch

  b. 删除构建目录。
    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. 安装检查。

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

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

  b. 检查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)
