Skip to content

Commit 06bdbc2

Browse files
authored
[CI] Update Windows CI (#3322)
This PR updates the Windows CI with the latest one-line build flow.
1 parent b47836e commit 06bdbc2

File tree

4 files changed

+27
-44
lines changed

4 files changed

+27
-44
lines changed

ci/jenkinsfile.groovy

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,6 @@ stage('Build') {
125125
sh(script: "ls -alh", label: 'Show work directory')
126126
sh(script: "${pkg_cuda} conda env export --name py312", label: 'Checkout version')
127127
sh(script: "${pkg_cuda} -j 8 -v \$HOME/.ccache /ccache conda run -n py312 ./ci/task/build_lib.sh", label: 'Build MLC LLM runtime')
128-
sh(script: "${pkg_cuda} -j 8 conda run -n py312 ./ci/task/build_wheel.sh", label: 'Build MLC LLM wheel')
129128
sh(script: "${pkg_cuda} -j 1 conda run -n py312 ./ci/task/build_clean.sh", label: 'Clean up after build')
130129
sh(script: "ls -alh ./wheels/", label: 'Build artifact')
131130
pack_lib('mlc_wheel_cuda', 'wheels/*.whl')
@@ -139,7 +138,6 @@ stage('Build') {
139138
// sh(script: "ls -alh", label: 'Show work directory')
140139
// sh(script: "${pkg_rocm} conda env export --name py38", label: 'Checkout version')
141140
// sh(script: "${pkg_rocm} -j 8 conda run -n py38 ./ci/task/build_lib.sh", label: 'Build MLC LLM runtime')
142-
// sh(script: "${pkg_rocm} -j 8 conda run -n py38 ./ci/task/build_wheel.sh", label: 'Build MLC LLM wheel')
143141
// sh(script: "${pkg_rocm} -j 1 conda run -n py38 ./ci/task/build_clean.sh", label: 'Clean up after build')
144142
// sh(script: "ls -alh ./wheels/", label: 'Build artifact')
145143
// pack_lib('mlc_wheel_rocm', 'wheels/*.whl')
@@ -153,7 +151,6 @@ stage('Build') {
153151
sh(script: "ls -alh", label: 'Show work directory')
154152
sh(script: "conda env export --name mlc-llm-ci", label: 'Checkout version')
155153
sh(script: "NUM_THREADS=6 GPU=metal conda run -n mlc-llm-ci ./ci/task/build_lib.sh", label: 'Build MLC LLM runtime')
156-
sh(script: "NUM_THREADS=6 GPU=metal conda run -n mlc-llm-ci ./ci/task/build_wheel.sh", label: 'Build MLC LLM wheel')
157154
sh(script: "NUM_THREADS=6 GPU=metal conda run -n mlc-llm-ci ./ci/task/build_clean.sh", label: 'Clean up after build')
158155
sh(script: "ls -alh ./wheels/", label: 'Build artifact')
159156
pack_lib('mlc_wheel_metal', 'wheels/*.whl')
@@ -167,7 +164,6 @@ stage('Build') {
167164
sh(script: "ls -alh", label: 'Show work directory')
168165
sh(script: "${pkg_cpu} conda env export --name py312", label: 'Checkout version')
169166
sh(script: "${pkg_cpu} -j 8 conda run -n py312 ./ci/task/build_lib.sh", label: 'Build MLC LLM runtime')
170-
sh(script: "${pkg_cpu} -j 8 conda run -n py312 ./ci/task/build_wheel.sh", label: 'Build MLC LLM wheel')
171167
sh(script: "${pkg_cpu} -j 1 conda run -n py312 ./ci/task/build_clean.sh", label: 'Clean up after build')
172168
sh(script: "ls -alh ./wheels/", label: 'Build artifact')
173169
pack_lib('mlc_wheel_vulkan', 'wheels/*.whl')

ci/task/build_lib.sh

Lines changed: 25 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ if [[ ${GPU} != metal ]]; then
2020
source /opt/rh/gcc-toolset-11/enable # GCC-11 is the hightest GCC version compatible with NVCC < 12
2121
fi
2222

23-
mkdir -p $WORKSPACE_CWD/build/ && cd $WORKSPACE_CWD/build/
23+
mkdir -p $WORKSPACE_CWD/build
2424
if [[ ${GPU} == rocm* ]]; then
2525
echo set\(USE_VULKAN ON\) >>config.cmake
2626
echo set\(USE_ROCM ON\) >>config.cmake
@@ -33,7 +33,6 @@ elif [[ ${GPU} == cuda* ]]; then
3333
echo set\(USE_CUDA ON\) >>config.cmake
3434
echo set\(USE_CUBLAS ON\) >>config.cmake
3535
echo set\(USE_NCCL ON\) >>config.cmake
36-
echo set\(USE_CUTLASS ON\) >>config.cmake
3736
elif [[ ${GPU} == metal ]]; then
3837
export CCACHE_DIR=$HOME/ci/ccache
3938
echo set\(USE_METAL ON\) >>config.cmake
@@ -42,3 +41,27 @@ else
4241
fi
4342

4443
cat config.cmake
44+
45+
AUDITWHEEL_OPTS="--plat ${AUDITWHEEL_PLAT} -w repaired_wheels/"
46+
AUDITWHEEL_OPTS="--exclude libtvm --exclude libtvm_runtime --exclude libtvm_ffi --exclude libvulkan ${AUDITWHEEL_OPTS}"
47+
if [[ ${GPU} == rocm* ]]; then
48+
AUDITWHEEL_OPTS="--exclude libamdhip64 --exclude libhsa-runtime64 --exclude librocm_smi64 --exclude librccl ${AUDITWHEEL_OPTS}"
49+
elif [[ ${GPU} == cuda* ]]; then
50+
AUDITWHEEL_OPTS="--exclude libcuda --exclude libcudart --exclude libnvrtc --exclude libcublas --exclude libcublasLt ${AUDITWHEEL_OPTS}"
51+
fi
52+
53+
rm -rf ${WORKSPACE_CWD}/dist
54+
cd ${WORKSPACE_CWD} && pip wheel --no-deps -w dist . -v
55+
56+
rm -rf ${WORKSPACE_CWD}/wheels/
57+
if [[ ${GPU} != metal ]]; then
58+
mkdir -p ${WORKSPACE_CWD}/repaired_wheels
59+
rm -rf ${WORKSPACE_CWD}/repaired_wheels/*
60+
auditwheel repair ${AUDITWHEEL_OPTS} dist/*.whl
61+
mv ${WORKSPACE_CWD}/repaired_wheels/ ${WORKSPACE_CWD}/wheels/
62+
else
63+
mkdir ${WORKSPACE_CWD}/wheels/
64+
mv dist/*.whl ${WORKSPACE_CWD}/wheels/
65+
fi
66+
67+
chown -R $ENV_USER_ID:$ENV_GROUP_ID ${WORKSPACE_CWD}/wheels/

ci/task/build_wheel.sh

Lines changed: 0 additions & 30 deletions
This file was deleted.

ci/task/build_win.bat

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,9 @@
11
cd mlc-llm
22
rd /s /q build
33
mkdir build
4-
cd build
54

6-
cmake -A x64 -Thost=x64 ^
7-
-G "Visual Studio 17 2022" ^
8-
-DUSE_VULKAN=ON ^
9-
..
5+
echo set(USE_VULKAN ON) >> config.cmake
106

11-
if %errorlevel% neq 0 exit %errorlevel%
12-
13-
cmake --build . --parallel 3 --config Release -- /m
7+
pip install . -v
148

159
if %errorlevel% neq 0 exit %errorlevel%

0 commit comments

Comments
 (0)