---
title: 安装依赖
description: "依赖安装分为预编译SO下载安装与源码编译安装两种方式，其中LLVM和jemalloc两种依赖的安装方式可以二选一，HMPP仅支持预编译SO下载安装。"
url: https://www.hikunpeng.com/document/detail/zh/kunpengboostkithistory/230RC2/bds/kunpengbds_omniruntime_20_0045.html
sourcePath: /source/zh/kunpengboostkithistory/230RC2/bds/kunpengbds_omniruntime_20_0045.html
indexId: dbe49e144290bc15f27b18800bc4df2b16036f58b578a447bcd513ad51a3a5b980
---
# 安装依赖

#### 前置说明

依赖安装分为预编译SO下载安装与源码编译安装两种方式，其中LLVM和jemalloc两种依赖的安装方式可以二选一，HMPP仅支持预编译SO下载安装。


#### 安装依赖（预编译so下载安装方式）

安装LLVM和jemalloc

下述步骤需在管理节点和所有计算节点操作。

1. 在管理节点和计算节点创建“/opt/omni-operator/”目录作为安装算子加速的根目录。

```
mkdir /opt/omni-operator
cd /opt/omni-operator
```


2. 从软件获取中获取的LLVM、jemalloc压缩包，上传到“/opt/omni-operator/”目录下，进行解压。

```
cd /opt/omni-operator/
unzip LLVM.zip
unzip jemalloc.zip
```


3. 创建“/opt/omni-operator/lib”目录，分别将libLLVM-15.so、libjemalloc.so.2移动到“/opt/omni-operator/lib”目录下。

```
mkdir lib
mv /opt/omni-operator/LLVM/libLLVM-15.so /opt/omni-operator/lib/
mv /opt/omni-operator/jemalloc/libjemalloc.so.2 /opt/omni-operator/lib/
```


“/opt/omni-operator”及“/opt/omni-operator/lib”目录用户可自行定义。


安装HMPP

下述步骤需在管理节点和所有计算节点操作。

1. 从软件获取中获取的HMPP压缩包，上传到“/opt/omni-operator/”目录下，进行解压，得到RPM和DEB文件。

```
unzip BoostKit-hmpp_1.7.0.zip
```


2. 检查节点是否已经安装HMPP，“/usr/local/include/HMPP”和“/usr/local/lib/HMPP”不存在即代表未安装，执行4；若存在，执行3先进行卸载再执行4。
3. 卸载RPM包。

```
rpm -e boostkit-hmpp-xxxx.aarch64
```


  上述命令中涉及的xxxx代表版本号。 卸载之后需检查文件夹头文件和动态库是否已经删除： “/usr/local/include/HMPP”、“/usr/local/lib/HMPP”。 如果遇到低版本卸载不掉的情况，评估无风险后请手动删除。

4. 安装RPM包。

```
rpm -ivh
boostkit-hmpp-xxxx-1.aarch64.rpm
```


  上述命令中涉及的xxxx代表版本号。 安装完之后检查如下文件夹是否存在头文件和动态库：“ /usr/local/include/HMPP”、“/usr/local/lib/HMPP”。


#### 安装依赖（源码编译安装方式）

安装LLVM

下述步骤需在管理节点和所有计算节点操作。

1. 下载https://github.com/llvm/llvm-project/archive/refs/tags/llvmorg-15.0.4.tar.gz(https://github.com/llvm/llvm-project/archive/refs/tags/llvmorg-15.0.4.tar.gz)，在管理节点和计算节点上创建目录“/opt/omni-operator”作为安装算子加速的根目录并进入，将压缩包上传到“/opt/omni-operator”目录下。

```
mkdir /opt/omni-operator
cd /opt/omni-operator
tar zxvf llvm-project-llvmorg-15.0.4.tar.gz
mv llvm-project-llvmorg-15.0.4 llvm
cd llvm
mkdir build
```


2. 进入“build”目录编译并安装LLVM。

```
cd ./build
cmake -DCMAKE_INSTALL_PREFIX=/opt/omni-operator/llvm -DCMAKE_BUILD_TYPE=Release -DLLVM_BUILD_LLVM_DYLIB=true -DLLVM_ENABLE_PROJECTS="clang" -G "Unix Makefiles" ../llvm
make -j4
make install
```


3. 在“/opt/omni-operator”下创建“lib”目录，拷贝“/opt/omni-operator/llvm/lib/libLLVM-15.so”到“/opt/omni-operator/lib”目录下。

```
mkdir /opt/omni-operator/lib
cp /opt/omni-operator/llvm/lib/libLLVM-15.so /opt/omni-operator/lib/
```


“/opt/omni-operator”、“/opt/omni-operator/llvm”和“/opt/omni-operator/lib” 目录用户可自行定义。


安装jemalloc

下述步骤需在管理节点和所有计算节点操作。

1. 下载https://github.com/jemalloc/jemalloc/archive/refs/tags/5.3.0.tar.gz(https://github.com/jemalloc/jemalloc/archive/refs/tags/5.3.0.tar.gz)，并上传到管理节点和计算节点的“/opt/omni-operator”目录下。

```
cd /opt/omni-operator/
tar zxvf jemalloc-5.3.0.tar.gz
mv jemalloc-5.3.0 jemalloc
```


2. 进入“jemalloc”目录，运行脚本并安装。

```
cd jemalloc
./autogen.sh --disable-initial-exec-tls
make -j2
```


3. 拷贝“/opt/omni-operator/jemalloc/lib/libjemalloc.so.2”到“/opt/omni-operator/lib”目录下。

```
cp /opt/omni-operator/jemalloc/lib/libjemalloc.so.2 /opt/omni-operator/lib/
```


“/opt/omni-operator/jemalloc”目录用户可自行定义。
