Rate This Document
Findability
Accuracy
Completeness
Readability

Installing Dependencies

To install OmniOperator locally, install the dependency packages LLVM, Jemalloc, and HMPP on the management node and all compute nodes. 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

  1. Create an /opt/omni-operator/ directory on the management and compute nodes as the root directory for installing OmniOperator. Then go to the directory.
    1
    2
    mkdir /opt/omni-operator
    cd /opt/omni-operator
    
  2. Upload the LLVM and jemalloc packages obtained from Obtaining Software to the /opt/omni-operator/ directory and decompress them.
    1
    2
    3
    cd /opt/omni-operator/
    unzip LLVM.zip
    unzip jemalloc.zip
    
  3. Create an /opt/omni-operator/lib directory, and move libLLVM-15.so and libjemalloc.so.2 to /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/
    

The /opt/omni-operator and /opt/omni-operator/lib directories can be customized.

Installing HMPP

  1. 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.
    1
    unzip BoostKit-hmpp_1.7.0.zip
    
  2. 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.
  3. Uninstall the RPM package.
    1
    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.
  4. 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

  1. 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.
    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. Go to the build directory, and compile and install 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. Create a lib directory in /opt/omni-operator and copy /opt/omni-operator/llvm/lib/libLLVM-15.so to /opt/omni-operator/lib.
    1
    2
    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

  1. Download https://github.com/jemalloc/jemalloc/archive/refs/tags/5.3.0.tar.gz and upload it to the management and compute nodes.
    1
    2
    3
    cd /opt/omni-operator/
    tar zxvf jemalloc-5.3.0.tar.gz
    mv jemalloc-5.3.0 jemalloc
    

    The /opt/omni-operator/jemalloc directory can be customized.

  2. Go to the jemalloc directory, run the script, and install the generated file.
    1
    2
    3
    cd jemalloc
    ./autogen.sh --disable-initial-exec-tls
    make –j2
    
  3. Copy /opt/omni-operator/jemalloc/lib/libjemalloc.so.2 to the /opt/omni-operator/lib directory.
    1
    cp /opt/omni-operator/jemalloc/lib/libjemalloc.so.2 /opt/omni-operator/lib/