Installing Dependencies
Prerequisites
Dependency installation can be based on downloading the pre-compiled SO file or compiling source code. LLVM and jemalloc can be installed using either of the two methods. HMPP can only be installed by downloading the pre-compiled SO file.
Installing Dependencies (By Downloading Pre-compiled SO Files)
Installing LLVM and jemalloc
The following operations must be performed on the management node and all compute nodes.
- Create an /opt/omni-operator/ directory on the management and compute nodes as the root directory for installing OmniOperator. Then go to the directory.
mkdir /opt/omni-operator cd /opt/omni-operator
- Upload the LLVM and jemalloc packages obtained from Obtaining Software to the /opt/omni-operator/ directory and decompress them.
cd /opt/omni-operator/ unzip LLVM.zip unzip jemalloc.zip
- Create an /opt/omni-operator/lib directory, and move libLLVM-15.so and libjemalloc.so.2 to /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/
The /opt/omni-operator and /opt/omni-operator/lib directories can be customized.
Installing HMPP
The following operations must be performed on the management node and all compute nodes.
- Upload the HMPP package obtained in Obtaining Software to the /opt/omni-operator/ directory, and decompress the package to obtain the RPM and DEB files.
unzip BoostKit-hmpp_1.7.0.zip
- Check whether HMPP is installed on the node. If the /usr/local/include/HMPP and /usr/local/lib/HMPP directories do not exist, HMPP is not installed. In this case, perform step 4. If they exist, perform step 3 and then step 4.
- Uninstall the RPM package.
rpm -e boostkit-hmpp-xxxx.aarch64
- In the preceding command, xxxx indicates the version number.
- After the uninstallation is complete, check whether the folder header file and the dynamic library are deleted: /usr/local/include/HMPP and /usr/local/lib/HMPP.
- If an earlier version cannot be uninstalled properly, manually delete it after evaluating that there is no risk.
- Install the RPM package.
rpm -ivh boostkit-hmpp-xxxx-1.aarch64.rpm
- In the preceding command, xxxx indicates the version number.
- After the installation, check whether header files and dynamic libraries exist in the /usr/local/include/HMPP and /usr/local/lib/HMPP directories.
Install Dependencies (By Compiling Source Code)
Installing LLVM
The following operations must be performed on the management node and all compute nodes.
- Download https://github.com/llvm/llvm-project/archive/refs/tags/llvmorg-15.0.4.tar.gz, create an /opt/omni-operator directory on the management and compute nodes as the root directory for installing OmniOperator, go to the directory, and upload the package to /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
- Go to the build directory, and compile and install 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
- Create a lib directory in /opt/omni-operator and copy /opt/omni-operator/llvm/lib/libLLVM-15.so to /opt/omni-operator/lib.
mkdir /opt/omni-operator/lib cp /opt/omni-operator/llvm/lib/libLLVM-15.so /opt/omni-operator/lib/
The /opt/omni-operator, /opt/omni-operator/llvm, and /opt/omni-operator/lib directories can be customized.
Installing jemalloc
The following operations must be performed on the management node and all compute nodes.
- Download https://github.com/jemalloc/jemalloc/archive/refs/tags/5.3.0.tar.gz and upload it to the management and compute node 2.
cd /opt/omni-operator/ tar zxvf jemalloc-5.3.0.tar.gz mv jemalloc-5.3.0 jemalloc
- Go to the jemalloc directory, run the script, and install the generated file.
cd jemalloc ./autogen.sh --disable-initial-exec-tls make –j2
- Copy /opt/omni-operator/jemalloc/lib/libjemalloc.so.2 to the /opt/omni-operator/lib directory.
cp /opt/omni-operator/jemalloc/lib/libjemalloc.so.2 /opt/omni-operator/lib/
The /opt/omni-operator/jemalloc directory can be customized.