---
title: 安装依赖
description: "通过本地方式安装OmniOperator算子加速，需要在管理节点和所有计算节点安装依赖包LLVM、jemalloc和HMPP。依赖安装分为预编译SO下载安装与源码编译安装两种方式，其中LLVM和jemalloc两种依赖的安装方式可以二选一，HMPP仅支持预编译SO下载安装。"
url: https://www.hikunpeng.com/document/detail/zh/kunpengboostkithistory/2300/bds/kunpengbds_omniruntime_20_0045.html
sourcePath: /source/zh/kunpengboostkithistory/2300/bds/kunpengbds_omniruntime_20_0045.html
indexId: 048b702cd2543ffb92b476e26cb664021f120330e5e4fa2f12710087db679d9378
---
# 安装依赖

通过本地方式安装OmniOperator算子加速，需要在管理节点和所有计算节点安装依赖包LLVM、jemalloc和HMPP。依赖安装分为预编译SO下载安装与源码编译安装两种方式，其中LLVM和jemalloc两种依赖的安装方式可以二选一，HMPP仅支持预编译SO下载安装。

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

安装LLVM和jemalloc

1. 在管理节点和计算节点创建“/opt/omni-operator/”目录作为安装OmniOperator的根目录，进入该目录。
  1 2 mkdir /opt/omni-operator cd /opt/omni-operator

2. 从软件获取中获取的LLVM、jemalloc压缩包，上传到“/opt/omni-operator/”目录下，进行解压。
  1 2 3 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”目录下。
  1 2 3 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文件。
  1 unzip BoostKit-hmpp_1.7.0.zip

2. 检查节点是否已经安装HMPP，“/usr/local/include/HMPP”和“/usr/local/lib/HMPP”不存在即代表未安装，执行4；若存在，执行3先进行卸载再执行4。
3. 卸载RPM包。
  1 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”作为安装OmniOperator的根目录并进入，将压缩包上传到“/opt/omni-operator”目录下。
  1 2 3 4 5 6 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。
  1 2 3 4 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”目录下。
  1 2 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)，并上传到管理节点和计算节点。
  1 2 3 cd /opt/omni-operator/ tar zxvf jemalloc-5.3.0.tar.gz mv jemalloc-5.3.0 jemalloc

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

2. 进入“jemalloc”目录，运行脚本并安装。
  1 2 3 cd jemalloc ./autogen.sh --disable-initial-exec-tls make -j2

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