---
title: 基本安装
description: "oneDNN基本安装的主要步骤包括获取源码包、执行Arm平台代码适配命令、使用CMake构建以及编译安装。安装过程中请根据实际情况替换部署路径。"
url: https://www.hikunpeng.com/document/detail/zh/SRA/ecosystemEnable/oneDNN/kunpengonednn_02_0012.html
sourcePath: /source/zh/SRA/ecosystemEnable/oneDNN/kunpengonednn_02_0012.html
indexId: 33c22a6a6bc0e9db6259c2f0ac8abef11a0d3b75403e30f14e5d3ff18873fe2064
---
# 基本安装

oneDNN基本安装的主要步骤包括获取源码包、执行Arm平台代码适配命令、使用CMake构建以及编译安装。安装过程中请根据实际情况替换部署路径。

以下提及的“/path/to/oneDNN-3.3.3”均需要替换为实际的部署路径。


1. 获取oneDNN源码。

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

```
wget https://github.com/oneapi-src/oneDNN/archive/refs/tags/v3.3.3.tar.gz --no-check-certificate
```


2. 解压oneDNN源码包。
  1 tar -xzvf v3.3.3.tar.gz

3. 进入“/path/to/oneDNN-3.3.3”目录。
  1 cd /path/to/oneDNN-3.3.3

4. Arm平台代码适配。
  1 sed '2441s/.*/'"$(sed -n 2439p tests/gtests/graph/unit/backend/dnnl/test_conv.cpp)"'/' -i tests/gtests/graph/unit/backend/dnnl/test_conv.cpp

5. 创建构建目录。
  1 mkdir build

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

7. 创建安装目录。
  1 mkdir install

8. CMake构建。
  1 cmake -DCMAKE_INSTALL_PREFIX=/path/to/oneDNN-3.3.3/build/install/ ..

  “CMAKE_INSTALL_PREFIX”指定了oneDNN库的安装路径，如果不指定则安装到默认路径。

9. 编译。
  1 make -j64

  j后面的数字为CPU核数，编译时可根据实际的CPU核数进行配置。

10. 安装。
  1 make install

11. 检查安装目录是否有libdnnl.so文件。
  1 ll install/lib64/
