44 lines
1.6 KiB
Bash
Executable File
44 lines
1.6 KiB
Bash
Executable File
#!/bin/bash
|
|
set -eo pipefail
|
|
set -x
|
|
: ${NUM_THREADS:=$(nproc)}
|
|
: ${WORKSPACE_CWD:=$(pwd)}
|
|
: ${GPU:="cpu"}
|
|
|
|
pip install --force-reinstall wheels/*.whl
|
|
pip install --quiet pytest
|
|
|
|
if [[ ${GPU} == cuda* ]]; then
|
|
TARGET=cuda
|
|
pip install --pre -U --no-index -f https://mlc.ai/wheels mlc-ai-nightly-cu128
|
|
export LD_LIBRARY_PATH=/usr/local/cuda/compat/:$LD_LIBRARY_PATH
|
|
elif [[ ${GPU} == rocm* ]]; then
|
|
TARGET=rocm
|
|
pip install --pre -U --no-index -f https://mlc.ai/wheels mlc-ai-nightly-rocm57
|
|
elif [[ ${GPU} == metal ]]; then
|
|
TARGET=metal
|
|
pip install --pre -U --force-reinstall -f https://mlc.ai/wheels mlc-ai-nightly-cpu
|
|
elif [[ ${GPU} == wasm* ]]; then
|
|
TARGET=wasm
|
|
# Clone a copy a tvm source code to build tvm web runtime
|
|
git clone https://github.com/mlc-ai/relax.git /tmp/tvm --recursive
|
|
export TVM_SOURCE_DIR=/tmp/tvm
|
|
# Pip install tvm so that `import tvm` in Python works
|
|
pip install --pre -U --no-index -f https://mlc.ai/wheels mlc-ai-nightly-cpu
|
|
export TVM_HOME=${TVM_SOURCE_DIR}
|
|
export MLC_LLM_SOURCE_DIR=$(pwd)
|
|
cd $TVM_SOURCE_DIR/web/ && make -j${NUM_THREADS} && cd -
|
|
cd $MLC_LLM_SOURCE_DIR/web/ && make -j${NUM_THREADS} && cd -
|
|
elif [[ ${GPU} == ios ]]; then
|
|
TARGET=ios
|
|
pip install --pre -U --force-reinstall -f https://mlc.ai/wheels mlc-ai-nightly-cpu
|
|
elif [[ ${GPU} == android* ]]; then
|
|
TARGET=android
|
|
pip install --pre -U --no-index -f https://mlc.ai/wheels mlc-ai-nightly-cpu
|
|
else
|
|
TARGET=vulkan
|
|
pip install --pre -U --no-index -f https://mlc.ai/wheels mlc-ai-nightly-cpu
|
|
fi
|
|
|
|
python tests/python/integration/test_model_compile.py $TARGET $NUM_THREADS
|