---
title: 安装依赖
description: "通过本地方式安装OmniOperator算子加速，在OmniOperator算子加速结合Spark引擎应用时，仅需在管理节点安装依赖包LLVM和jemalloc。在Spark on Yarn场景中，通过Spark的--archives参数提升部署易用性。预编译SO下载安装与源码编译安装两种方式可任选其一。"
url: https://www.hikunpeng.com/document/detail/zh/kunpengboostkithistory/240RC5/bds/kunpengbds_omniruntime_20_0045.html
sourcePath: /source/zh/kunpengboostkithistory/240RC5/bds/kunpengbds_omniruntime_20_0045.html
indexId: 1a7bfb8793080e8ee23cf0d4ce191e16fc76ff1570f82bd46fb422ddf098834f80
---
# 安装依赖

通过本地方式安装OmniOperator算子加速，在OmniOperator算子加速结合Spark引擎应用时，仅需在管理节点安装依赖包LLVM和jemalloc。在Spark on Yarn场景中，通过Spark的--archives参数提升部署易用性。预编译SO下载安装与源码编译安装两种方式可任选其一。

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

安装LLVM和jemalloc

Dependency_library.zip压缩包中包含Dependency_library_openeuler.zip和Dependency_library_centos.zip两个包，分别适用于openEuler和CentOS系统，以下安装以openEuler系统为例。如需在CentOS系统安装OmniOperator算子加速，把以下命令参数中的Dependency_library_openeuler.zip替换为Dependency_library_centos.zip即可。


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

2. 从软件安装包获取中获取的Dependency_library压缩包（Dependency_library.zip和Dependency_library.z01），上传到“/opt/omni-operator/”目录下，进行解压。
  1 2 zip -F Dependency_library.zip --out Dependency_library_complete.zip unzip Dependency_library_complete.zip

3. 创建“/opt/omni-operator/lib”目录，将Dependency_library_openeuler.zip中的libLLVM-15.so、libjemalloc.so.2解压到“/opt/omni-operator/lib”目录下。
  1 2 3 4 5 mkdir lib rm -rf /opt/omni-operator/lib/libjemalloc.so.2 rm -rf /opt/omni-operator/lib/libLLVM-15.so cd /opt/omni-operator/Dependency_library unzip -d /opt/omni-operator/lib -o Dependency_library_openeuler.zip libLLVM-15.so libjemalloc.so.2


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


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

安装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/
