xref: /aosp_15_r20/external/pytorch/.ci/docker/common/install_halide.sh (revision da0073e96a02ea20f0ac840b70461e3646d07c45)
1#!/bin/bash
2set -ex
3
4source "$(dirname "${BASH_SOURCE[0]}")/common_utils.sh"
5
6COMMIT=$(get_pinned_commit halide)
7test -n "$COMMIT"
8
9# activate conda to populate CONDA_PREFIX
10test -n "$ANACONDA_PYTHON_VERSION"
11eval "$(conda shell.bash hook)"
12conda activate py_$ANACONDA_PYTHON_VERSION
13
14if [ -n "${UBUNTU_VERSION}" ];then
15    apt update
16    apt-get install -y lld liblld-15-dev libpng-dev libjpeg-dev libgl-dev \
17                  libopenblas-dev libeigen3-dev libatlas-base-dev libzstd-dev
18fi
19
20conda_install numpy scipy imageio cmake ninja
21
22git clone --depth 1 --branch release/16.x --recursive https://github.com/llvm/llvm-project.git
23cmake -DCMAKE_BUILD_TYPE=Release \
24        -DLLVM_ENABLE_PROJECTS="clang" \
25        -DLLVM_TARGETS_TO_BUILD="X86;NVPTX" \
26        -DLLVM_ENABLE_TERMINFO=OFF -DLLVM_ENABLE_ASSERTIONS=ON \
27        -DLLVM_ENABLE_EH=ON -DLLVM_ENABLE_RTTI=ON -DLLVM_BUILD_32_BITS=OFF \
28        -S llvm-project/llvm -B llvm-build -G Ninja
29cmake --build llvm-build
30cmake --install llvm-build --prefix llvm-install
31export LLVM_ROOT=`pwd`/llvm-install
32export LLVM_CONFIG=$LLVM_ROOT/bin/llvm-config
33
34git clone https://github.com/halide/Halide.git
35pushd Halide
36git checkout ${COMMIT} && git submodule update --init --recursive
37pip_install -r requirements.txt
38cmake -G Ninja -DCMAKE_BUILD_TYPE=Release -S . -B build
39cmake --build build
40test -e ${CONDA_PREFIX}/lib/python3 || ln -s python${ANACONDA_PYTHON_VERSION} ${CONDA_PREFIX}/lib/python3
41cmake --install build --prefix ${CONDA_PREFIX}
42chown -R jenkins ${CONDA_PREFIX}
43popd
44rm -rf Halide llvm-build llvm-project llvm-install
45
46python -c "import halide"  # check for errors
47