Skip to content

Commit 8e67fee

Browse files
committed
feat: Add sccache to speed up compilation
feat: Add sccache to speed up compilation feat: Add sccache to speed up compilation feat: Add sccache to speed up compilation feat: Add sccache to speed up compilation feat: Add sccache to speed up compilation Signed-off-by: tfhddd <2272751277@qq.com>
1 parent 0210cc0 commit 8e67fee

File tree

10 files changed

+187
-16
lines changed

10 files changed

+187
-16
lines changed

.github/workflows/_schedule_image_build.yaml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,13 @@ jobs:
7676
driver: docker-container
7777
use: true
7878

79+
- name: Configure sccache
80+
uses: actions/github-script@v7
81+
with:
82+
script: |
83+
core.exportVariable('ACTIONS_RESULTS_URL', process.env.ACTIONS_RESULTS_URL || '');
84+
core.exportVariable('ACTIONS_RUNTIME_TOKEN', process.env.ACTIONS_RUNTIME_TOKEN || '');
85+
7986
- name: Build and push
8087
uses: docker/build-push-action@v7
8188
id: build
@@ -89,6 +96,11 @@ jobs:
8996
outputs: type=image,name=quay.io/ascend/vllm-ascend,push-by-digest=true,name-canonical=true,push=${{ inputs.should_push }}
9097
build-args: |
9198
PIP_INDEX_URL=https://pypi.org/simple
99+
SCCACHE_GHA_ENABLED=true
100+
MATRIX_ARCH=${{ matrix.arch }}
101+
secrets: |
102+
ACTIONS_RESULTS_URL=${{ env.ACTIONS_RESULTS_URL }}
103+
ACTIONS_RUNTIME_TOKEN=${{ env.ACTIONS_RUNTIME_TOKEN }}
92104
provenance: false
93105

94106
- name: Export digest

Dockerfile

Lines changed: 24 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@ FROM quay.io/ascend/cann:8.5.1-910b-ubuntu22.04-py3.11
2020
ARG PIP_INDEX_URL="https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple"
2121
ARG MOONCAKE_TAG="v0.3.8.post1"
2222
ARG SOC_VERSION="ascend910b1"
23+
ARG SCCACHE_GHA_ENABLED
24+
ARG MATRIX_ARCH
2325

2426
# Define environments
2527
ENV DEBIAN_FRONTEND=noninteractive
@@ -31,17 +33,28 @@ WORKDIR /workspace
3133

3234
COPY . /vllm-workspace/vllm-ascend/
3335

36+
RUN --mount=type=secret,id=ACTIONS_RESULTS_URL,required=false \
37+
--mount=type=secret,id=ACTIONS_RUNTIME_TOKEN,required=false \
38+
bash /vllm-workspace/vllm-ascend/tools/sccache_installer.sh
39+
3440
# Install Mooncake dependencies
35-
RUN apt-get update -y && \
41+
RUN --mount=type=secret,id=ACTIONS_RESULTS_URL,required=false \
42+
--mount=type=secret,id=ACTIONS_RUNTIME_TOKEN,required=false \
43+
apt-get update -y && \
3644
apt-get install -y git vim wget net-tools gcc g++ cmake libnuma-dev libjemalloc2 && \
3745
git clone --depth 1 --branch ${MOONCAKE_TAG} https://github.com/kvcache-ai/Mooncake /vllm-workspace/Mooncake && \
3846
cp /vllm-workspace/vllm-ascend/tools/mooncake_installer.sh /vllm-workspace/Mooncake/ && \
3947
cd /vllm-workspace/Mooncake && bash mooncake_installer.sh -y && \
4048
ARCH=$(uname -m) && \
4149
source /usr/local/Ascend/ascend-toolkit/set_env.sh && \
50+
export ACTIONS_RESULTS_URL=$(cat /run/secrets/ACTIONS_RESULTS_URL 2>/dev/null || echo "") && \
51+
export ACTIONS_RUNTIME_TOKEN=$(cat /run/secrets/ACTIONS_RUNTIME_TOKEN 2>/dev/null || echo "") && \
52+
export ACTIONS_CACHE_SERVICE_V2=on && \
53+
export SCCACHE_GHA_ENABLED=${SCCACHE_GHA_ENABLED} && \
4254
export LD_LIBRARY_PATH=/usr/local/Ascend/ascend-toolkit/latest/${ARCH}-linux/devlib:/usr/local/Ascend/ascend-toolkit/latest/${ARCH}-linux/lib64:$LD_LIBRARY_PATH && \
43-
mkdir -p build && cd build && cmake .. -DUSE_ASCEND_DIRECT=ON && \
55+
mkdir -p build && cd build && cmake .. -DUSE_ASCEND_DIRECT=ON -DENABLE_SCCACHE=ON && \
4456
make -j$(nproc) && make install && \
57+
sccache --show-stats && \
4558
rm -fr /vllm-workspace/Mooncake/build && \
4659
rm -rf /var/cache/apt/* && \
4760
rm -rf /var/lib/apt/lists/*
@@ -60,11 +73,19 @@ RUN VLLM_TARGET_DEVICE="empty" python3 -m pip install -v -e /vllm-workspace/vllm
6073
# Install vllm-ascend
6174
# Append `libascend_hal.so` path (devlib) to LD_LIBRARY_PATH
6275
# Installing vllm-ascend on x86 can pull upstream triton back in alongside triton-ascend. Remove it immediately after this step.
63-
RUN export PIP_EXTRA_INDEX_URL=https://mirrors.huaweicloud.com/ascend/repos/pypi && \
76+
RUN --mount=type=secret,id=ACTIONS_RESULTS_URL,required=false \
77+
--mount=type=secret,id=ACTIONS_RUNTIME_TOKEN,required=false \
78+
export PIP_EXTRA_INDEX_URL=https://mirrors.huaweicloud.com/ascend/repos/pypi && \
6479
source /usr/local/Ascend/ascend-toolkit/set_env.sh && \
6580
source /usr/local/Ascend/nnal/atb/set_env.sh && \
81+
export ACTIONS_RESULTS_URL=$(cat /run/secrets/ACTIONS_RESULTS_URL 2>/dev/null || echo "") && \
82+
export ACTIONS_RUNTIME_TOKEN=$(cat /run/secrets/ACTIONS_RUNTIME_TOKEN 2>/dev/null || echo "") && \
83+
export ACTIONS_CACHE_SERVICE_V2=on && \
84+
export SCCACHE_GHA_ENABLED=${SCCACHE_GHA_ENABLED} && \
6685
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/Ascend/ascend-toolkit/latest/`uname -i`-linux/devlib && \
6786
python3 -m pip install -v -e /vllm-workspace/vllm-ascend/ --extra-index https://download.pytorch.org/whl/cpu/ && \
87+
sccache --show-stats && \
88+
rm -f /usr/bin/sccache && \
6889
if [ "$(uname -i)" = "x86_64" ]; then python3 -m pip uninstall -y triton; fi && \
6990
python3 -m pip cache purge
7091

Dockerfile.310p

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@ FROM quay.io/ascend/cann:8.5.1-310p-ubuntu22.04-py3.11
1919

2020
ARG PIP_INDEX_URL="https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple"
2121
ARG SOC_VERSION="ascend310p1"
22+
ARG SCCACHE_GHA_ENABLED
23+
ARG MATRIX_ARCH
2224

2325
# Define environments
2426
ENV DEBIAN_FRONTEND=noninteractive
@@ -36,6 +38,10 @@ WORKDIR /workspace
3638

3739
COPY . /vllm-workspace/vllm-ascend/
3840

41+
RUN --mount=type=secret,id=ACTIONS_RESULTS_URL,required=false \
42+
--mount=type=secret,id=ACTIONS_RUNTIME_TOKEN,required=false \
43+
bash /vllm-workspace/vllm-ascend/tools/sccache_installer.sh
44+
3945
RUN pip config set global.index-url ${PIP_INDEX_URL}
4046

4147
# Install vLLM
@@ -50,11 +56,19 @@ RUN VLLM_TARGET_DEVICE="empty" python3 -m pip install -v -e /vllm-workspace/vllm
5056
# Install vllm-ascend
5157
# Append `libascend_hal.so` path (devlib) to LD_LIBRARY_PATH
5258
# Installing vllm-ascend on x86 can pull upstream triton back in alongside triton-ascend. Remove it immediately after this step.
53-
RUN export PIP_EXTRA_INDEX_URL=https://mirrors.huaweicloud.com/ascend/repos/pypi && \
59+
RUN --mount=type=secret,id=ACTIONS_RESULTS_URL,required=false \
60+
--mount=type=secret,id=ACTIONS_RUNTIME_TOKEN,required=false \
61+
export PIP_EXTRA_INDEX_URL=https://mirrors.huaweicloud.com/ascend/repos/pypi && \
5462
source /usr/local/Ascend/ascend-toolkit/set_env.sh && \
5563
source /usr/local/Ascend/nnal/atb/set_env.sh && \
64+
export ACTIONS_RESULTS_URL=$(cat /run/secrets/ACTIONS_RESULTS_URL 2>/dev/null || echo "") && \
65+
export ACTIONS_RUNTIME_TOKEN=$(cat /run/secrets/ACTIONS_RUNTIME_TOKEN 2>/dev/null || echo "") && \
66+
export ACTIONS_CACHE_SERVICE_V2=on && \
67+
export SCCACHE_GHA_ENABLED=${SCCACHE_GHA_ENABLED} && \
5668
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/Ascend/ascend-toolkit/latest/`uname -i`-linux/devlib && \
5769
python3 -m pip install -v -e /vllm-workspace/vllm-ascend/ --extra-index https://download.pytorch.org/whl/cpu/ && \
70+
sccache --show-stats && \
71+
rm -f /usr/bin/sccache && \
5872
if [ "$(uname -i)" = "x86_64" ]; then python3 -m pip uninstall -y triton; fi && \
5973
python3 -m pip cache purge
6074

Dockerfile.310p.openEuler

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@ FROM quay.io/ascend/cann:8.5.1-310p-openeuler24.03-py3.11
1919

2020
ARG PIP_INDEX_URL="https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple"
2121
ARG SOC_VERSION="ascend310p1"
22+
ARG SCCACHE_GHA_ENABLED
23+
ARG MATRIX_ARCH
2224

2325
ENV SOC_VERSION=$SOC_VERSION \
2426
TASK_QUEUE_ENABLE=1 \
@@ -34,6 +36,10 @@ WORKDIR /workspace
3436

3537
COPY . /vllm-workspace/vllm-ascend/
3638

39+
RUN --mount=type=secret,id=ACTIONS_RESULTS_URL,required=false \
40+
--mount=type=secret,id=ACTIONS_RUNTIME_TOKEN,required=false \
41+
bash /vllm-workspace/vllm-ascend/tools/sccache_installer.sh
42+
3743
# Install vLLM
3844
ARG VLLM_REPO=https://github.com/vllm-project/vllm.git
3945
ARG VLLM_TAG=v0.18.0
@@ -45,12 +51,20 @@ RUN VLLM_TARGET_DEVICE="empty" python3 -m pip install -e /vllm-workspace/vllm/[a
4551

4652
# Install vllm-ascend
4753
# Installing vllm-ascend on x86 can pull upstream triton back in alongside triton-ascend. Remove it immediately after this step.
48-
RUN export PIP_EXTRA_INDEX_URL=https://mirrors.huaweicloud.com/ascend/repos/pypi && \
54+
RUN --mount=type=secret,id=ACTIONS_RESULTS_URL,required=false \
55+
--mount=type=secret,id=ACTIONS_RUNTIME_TOKEN,required=false \
56+
export PIP_EXTRA_INDEX_URL=https://mirrors.huaweicloud.com/ascend/repos/pypi && \
4957
source /usr/local/Ascend/ascend-toolkit/set_env.sh && \
5058
source /usr/local/Ascend/nnal/atb/set_env.sh && \
59+
export ACTIONS_RESULTS_URL=$(cat /run/secrets/ACTIONS_RESULTS_URL 2>/dev/null || echo "") && \
60+
export ACTIONS_RUNTIME_TOKEN=$(cat /run/secrets/ACTIONS_RUNTIME_TOKEN 2>/dev/null || echo "") && \
61+
export ACTIONS_CACHE_SERVICE_V2=on && \
62+
export SCCACHE_GHA_ENABLED=${SCCACHE_GHA_ENABLED} && \
5163
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/Ascend/ascend-toolkit/latest/`uname -i`-linux/devlib && \
5264
export CPLUS_INCLUDE_PATH=$CPLUS_INCLUDE_PATH:/usr/include/c++/12:/usr/include/c++/12/`uname -i`-openEuler-linux && \
5365
python3 -m pip install -v -e /vllm-workspace/vllm-ascend/ --extra-index https://download.pytorch.org/whl/cpu/ && \
66+
sccache --show-stats && \
67+
rm -f /usr/bin/sccache && \
5468
if [ "$(uname -i)" = "x86_64" ]; then python3 -m pip uninstall -y triton; fi && \
5569
python3 -m pip cache purge
5670

Dockerfile.a3

Lines changed: 23 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@ FROM quay.io/ascend/cann:8.5.1-a3-ubuntu22.04-py3.11
2020
ARG PIP_INDEX_URL="https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple"
2121
ARG MOONCAKE_TAG=v0.3.8.post1
2222
ARG SOC_VERSION="ascend910_9391"
23+
ARG SCCACHE_GHA_ENABLED
24+
ARG MATRIX_ARCH
2325

2426
COPY . /vllm-workspace/vllm-ascend/
2527
# Define environments
@@ -32,17 +34,28 @@ RUN pip config set global.index-url ${PIP_INDEX_URL}
3234

3335
WORKDIR /workspace
3436

37+
RUN --mount=type=secret,id=ACTIONS_RESULTS_URL,required=false \
38+
--mount=type=secret,id=ACTIONS_RUNTIME_TOKEN,required=false \
39+
bash /vllm-workspace/vllm-ascend/tools/sccache_installer.sh
40+
3541
# Install Mooncake dependencies
36-
RUN apt-get update -y && \
42+
RUN --mount=type=secret,id=ACTIONS_RESULTS_URL,required=false \
43+
--mount=type=secret,id=ACTIONS_RUNTIME_TOKEN,required=false \
44+
apt-get update -y && \
3745
apt-get install -y git vim wget net-tools gcc g++ cmake libnuma-dev libjemalloc2 && \
3846
git clone --depth 1 --branch ${MOONCAKE_TAG} https://github.com/kvcache-ai/Mooncake /vllm-workspace/Mooncake && \
3947
cp /vllm-workspace/vllm-ascend/tools/mooncake_installer.sh /vllm-workspace/Mooncake/ && \
4048
cd /vllm-workspace/Mooncake && bash mooncake_installer.sh -y && \
4149
ARCH=$(uname -m) && \
4250
source /usr/local/Ascend/ascend-toolkit/set_env.sh && \
51+
export ACTIONS_RESULTS_URL=$(cat /run/secrets/ACTIONS_RESULTS_URL 2>/dev/null || echo "") && \
52+
export ACTIONS_RUNTIME_TOKEN=$(cat /run/secrets/ACTIONS_RUNTIME_TOKEN 2>/dev/null || echo "") && \
53+
export ACTIONS_CACHE_SERVICE_V2=on && \
54+
export SCCACHE_GHA_ENABLED=${SCCACHE_GHA_ENABLED} && \
4355
export LD_LIBRARY_PATH=/usr/local/Ascend/ascend-toolkit/latest/${ARCH}-linux/devlib:/usr/local/Ascend/ascend-toolkit/latest/${ARCH}-linux/lib64:$LD_LIBRARY_PATH && \
44-
mkdir -p build && cd build && cmake .. -DUSE_ASCEND_DIRECT=ON && \
56+
mkdir -p build && cd build && cmake .. -DUSE_ASCEND_DIRECT=ON -DENABLE_SCCACHE=ON && \
4557
make -j$(nproc) && make install && \
58+
sccache --show-stats && \
4659
rm -fr /vllm-workspace/Mooncake/build && \
4760
rm -rf /var/cache/apt/* && \
4861
rm -rf /var/lib/apt/lists/*
@@ -59,11 +72,18 @@ RUN VLLM_TARGET_DEVICE="empty" python3 -m pip install -v -e /vllm-workspace/vllm
5972
# Install vllm-ascend
6073
# Append `libascend_hal.so` path (devlib) to LD_LIBRARY_PATH
6174
# Installing vllm-ascend on x86 can pull upstream triton back in alongside triton-ascend. Remove it immediately after this step.
62-
RUN export PIP_EXTRA_INDEX_URL=https://mirrors.huaweicloud.com/ascend/repos/pypi && \
75+
RUN --mount=type=secret,id=ACTIONS_RESULTS_URL,required=false \
76+
--mount=type=secret,id=ACTIONS_RUNTIME_TOKEN,required=false \
77+
export PIP_EXTRA_INDEX_URL=https://mirrors.huaweicloud.com/ascend/repos/pypi && \
6378
source /usr/local/Ascend/ascend-toolkit/set_env.sh && \
6479
source /usr/local/Ascend/nnal/atb/set_env.sh && \
80+
export ACTIONS_RESULTS_URL=$(cat /run/secrets/ACTIONS_RESULTS_URL 2>/dev/null || echo "") && \
81+
export ACTIONS_RUNTIME_TOKEN=$(cat /run/secrets/ACTIONS_RUNTIME_TOKEN 2>/dev/null || echo "") && \
82+
export ACTIONS_CACHE_SERVICE_V2=on && \
83+
export SCCACHE_GHA_ENABLED=${SCCACHE_GHA_ENABLED} && \
6584
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/Ascend/ascend-toolkit/latest/`uname -i`-linux/devlib && \
6685
python3 -m pip install -v -e /vllm-workspace/vllm-ascend/ --extra-index https://download.pytorch.org/whl/cpu/ && \
86+
rm -f /usr/bin/sccache && \
6787
if [ "$(uname -i)" = "x86_64" ]; then python3 -m pip uninstall -y triton; fi && \
6888
python3 -m pip cache purge
6989

Dockerfile.a3.openEuler

Lines changed: 24 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@ FROM quay.io/ascend/cann:8.5.1-a3-openeuler24.03-py3.11
2020
ARG PIP_INDEX_URL="https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple"
2121
ARG MOONCAKE_TAG="v0.3.8.post1"
2222
ARG SOC_VERSION="ascend910_9391"
23+
ARG SCCACHE_GHA_ENABLED
24+
ARG MATRIX_ARCH
2325

2426
ENV SOC_VERSION=$SOC_VERSION \
2527
TASK_QUEUE_ENABLE=1 \
@@ -31,20 +33,31 @@ WORKDIR /workspace
3133

3234
COPY . /vllm-workspace/vllm-ascend/
3335

36+
RUN --mount=type=secret,id=ACTIONS_RESULTS_URL,required=false \
37+
--mount=type=secret,id=ACTIONS_RUNTIME_TOKEN,required=false \
38+
bash /vllm-workspace/vllm-ascend/tools/sccache_installer.sh
39+
3440
SHELL ["/bin/bash", "-c"]
3541

36-
RUN yum update -y && \
42+
RUN --mount=type=secret,id=ACTIONS_RESULTS_URL,required=false \
43+
--mount=type=secret,id=ACTIONS_RUNTIME_TOKEN,required=false \
44+
yum update -y && \
3745
yum install -y git vim wget net-tools gcc gcc-c++ make cmake numactl-devel jemalloc && \
3846
git clone --depth 1 --branch ${MOONCAKE_TAG} https://github.com/kvcache-ai/Mooncake /vllm-workspace/Mooncake && \
3947
cp /vllm-workspace/vllm-ascend/tools/mooncake_installer.sh /vllm-workspace/Mooncake/ && \
4048
ARCH=$(uname -m) && \
4149
source /usr/local/Ascend/ascend-toolkit/set_env.sh && \
50+
export ACTIONS_RESULTS_URL=$(cat /run/secrets/ACTIONS_RESULTS_URL 2>/dev/null || echo "") && \
51+
export ACTIONS_RUNTIME_TOKEN=$(cat /run/secrets/ACTIONS_RUNTIME_TOKEN 2>/dev/null || echo "") && \
52+
export ACTIONS_CACHE_SERVICE_V2=on && \
53+
export SCCACHE_GHA_ENABLED=${SCCACHE_GHA_ENABLED} && \
4254
export LD_LIBRARY_PATH=/usr/local/Ascend/ascend-toolkit/latest/${ARCH}-linux/devlib:/usr/local/Ascend/ascend-toolkit/latest/${ARCH}-linux/lib64:$LD_LIBRARY_PATH && \
4355
export CPLUS_INCLUDE_PATH=$CPLUS_INCLUDE_PATH:/usr/include/c++/12:/usr/include/c++/12/${ARCH}-openEuler-linux && \
4456
cd /vllm-workspace/Mooncake && \
4557
bash mooncake_installer.sh -y && \
46-
mkdir -p build && cd build && cmake .. -DUSE_ASCEND_DIRECT=ON && \
58+
mkdir -p build && cd build && cmake .. -DUSE_ASCEND_DIRECT=ON -DENABLE_SCCACHE=ON && \
4759
make -j$(nproc) && make install && \
60+
sccache --show-stats && \
4861
rm -fr /vllm-workspace/Mooncake/build && \
4962
rm -rf /var/cache/yum/*
5063

@@ -59,12 +72,20 @@ RUN VLLM_TARGET_DEVICE="empty" python3 -m pip install -e /vllm-workspace/vllm/[a
5972

6073
# Install vllm-ascend
6174
# Installing vllm-ascend on x86 can pull upstream triton back in alongside triton-ascend. Remove it immediately after this step.
62-
RUN export PIP_EXTRA_INDEX_URL=https://mirrors.huaweicloud.com/ascend/repos/pypi && \
75+
RUN --mount=type=secret,id=ACTIONS_RESULTS_URL,required=false \
76+
--mount=type=secret,id=ACTIONS_RUNTIME_TOKEN,required=false \
77+
export PIP_EXTRA_INDEX_URL=https://mirrors.huaweicloud.com/ascend/repos/pypi && \
6378
source /usr/local/Ascend/ascend-toolkit/set_env.sh && \
6479
source /usr/local/Ascend/nnal/atb/set_env.sh && \
80+
export ACTIONS_RESULTS_URL=$(cat /run/secrets/ACTIONS_RESULTS_URL 2>/dev/null || echo "") && \
81+
export ACTIONS_RUNTIME_TOKEN=$(cat /run/secrets/ACTIONS_RUNTIME_TOKEN 2>/dev/null || echo "") && \
82+
export ACTIONS_CACHE_SERVICE_V2=on && \
83+
export SCCACHE_GHA_ENABLED=${SCCACHE_GHA_ENABLED} && \
6584
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/Ascend/ascend-toolkit/latest/`uname -i`-linux/devlib && \
6685
export CPLUS_INCLUDE_PATH=$CPLUS_INCLUDE_PATH:/usr/include/c++/12:/usr/include/c++/12/`uname -i`-openEuler-linux && \
6786
python3 -m pip install -v -e /vllm-workspace/vllm-ascend/ --extra-index https://download.pytorch.org/whl/cpu/ && \
87+
sccache --show-stats && \
88+
rm -f /usr/bin/sccache && \
6889
if [ "$(uname -i)" = "x86_64" ]; then python3 -m pip uninstall -y triton; fi && \
6990
python3 -m pip cache purge
7091

Dockerfile.openEuler

Lines changed: 24 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@ FROM quay.io/ascend/cann:8.5.1-910b-openeuler24.03-py3.11
2020
ARG PIP_INDEX_URL="https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple"
2121
ARG MOONCAKE_TAG="v0.3.8.post1"
2222
ARG SOC_VERSION="ascend910b1"
23+
ARG SCCACHE_GHA_ENABLED
24+
ARG MATRIX_ARCH
2325

2426
ENV SOC_VERSION=$SOC_VERSION \
2527
TASK_QUEUE_ENABLE=1 \
@@ -31,20 +33,31 @@ WORKDIR /workspace
3133

3234
COPY . /vllm-workspace/vllm-ascend/
3335

36+
RUN --mount=type=secret,id=ACTIONS_RESULTS_URL,required=false \
37+
--mount=type=secret,id=ACTIONS_RUNTIME_TOKEN,required=false \
38+
bash /vllm-workspace/vllm-ascend/tools/sccache_installer.sh
39+
3440
SHELL ["/bin/bash", "-c"]
3541

36-
RUN yum update -y && \
42+
RUN --mount=type=secret,id=ACTIONS_RESULTS_URL,required=false \
43+
--mount=type=secret,id=ACTIONS_RUNTIME_TOKEN,required=false \
44+
yum update -y && \
3745
yum install -y git vim wget net-tools gcc gcc-c++ make cmake numactl-devel jemalloc && \
3846
git clone --depth 1 --branch ${MOONCAKE_TAG} https://github.com/kvcache-ai/Mooncake /vllm-workspace/Mooncake && \
3947
cp /vllm-workspace/vllm-ascend/tools/mooncake_installer.sh /vllm-workspace/Mooncake/ && \
4048
ARCH=$(uname -m) && \
4149
source /usr/local/Ascend/ascend-toolkit/set_env.sh && \
50+
export ACTIONS_RESULTS_URL=$(cat /run/secrets/ACTIONS_RESULTS_URL 2>/dev/null || echo "") && \
51+
export ACTIONS_RUNTIME_TOKEN=$(cat /run/secrets/ACTIONS_RUNTIME_TOKEN 2>/dev/null || echo "") && \
52+
export ACTIONS_CACHE_SERVICE_V2=on && \
53+
export SCCACHE_GHA_ENABLED=${SCCACHE_GHA_ENABLED} && \
4254
export LD_LIBRARY_PATH=/usr/local/Ascend/ascend-toolkit/latest/${ARCH}-linux/devlib:/usr/local/Ascend/ascend-toolkit/latest/${ARCH}-linux/lib64:$LD_LIBRARY_PATH && \
4355
export CPLUS_INCLUDE_PATH=$CPLUS_INCLUDE_PATH:/usr/include/c++/12:/usr/include/c++/12/${ARCH}-openEuler-linux && \
4456
cd /vllm-workspace/Mooncake && \
4557
bash mooncake_installer.sh -y && \
46-
mkdir -p build && cd build && cmake .. -DUSE_ASCEND_DIRECT=ON && \
58+
mkdir -p build && cd build && cmake .. -DUSE_ASCEND_DIRECT=ON -DENABLE_SCCACHE=ON && \
4759
make -j$(nproc) && make install && \
60+
sccache --show-stats && \
4861
rm -fr /vllm-workspace/Mooncake/build && \
4962
rm -rf /var/cache/yum/*
5063

@@ -59,12 +72,20 @@ RUN VLLM_TARGET_DEVICE="empty" python3 -m pip install -e /vllm-workspace/vllm/[a
5972

6073
# Install vllm-ascend
6174
# Installing vllm-ascend on x86 can pull upstream triton back in alongside triton-ascend. Remove it immediately after this step.
62-
RUN export PIP_EXTRA_INDEX_URL=https://mirrors.huaweicloud.com/ascend/repos/pypi && \
75+
RUN --mount=type=secret,id=ACTIONS_RESULTS_URL,required=false \
76+
--mount=type=secret,id=ACTIONS_RUNTIME_TOKEN,required=false \
77+
export PIP_EXTRA_INDEX_URL=https://mirrors.huaweicloud.com/ascend/repos/pypi && \
6378
source /usr/local/Ascend/ascend-toolkit/set_env.sh && \
6479
source /usr/local/Ascend/nnal/atb/set_env.sh && \
80+
export ACTIONS_RESULTS_URL=$(cat /run/secrets/ACTIONS_RESULTS_URL 2>/dev/null || echo "") && \
81+
export ACTIONS_RUNTIME_TOKEN=$(cat /run/secrets/ACTIONS_RUNTIME_TOKEN 2>/dev/null || echo "") && \
82+
export ACTIONS_CACHE_SERVICE_V2=on && \
83+
export SCCACHE_GHA_ENABLED=${SCCACHE_GHA_ENABLED} && \
6584
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/Ascend/ascend-toolkit/latest/`uname -i`-linux/devlib && \
6685
export CPLUS_INCLUDE_PATH=$CPLUS_INCLUDE_PATH:/usr/include/c++/12:/usr/include/c++/12/`uname -i`-openEuler-linux && \
6786
python3 -m pip install -v -e /vllm-workspace/vllm-ascend/ --extra-index https://download.pytorch.org/whl/cpu/ && \
87+
sccache --show-stats && \
88+
rm -f /usr/bin/sccache && \
6889
if [ "$(uname -i)" = "x86_64" ]; then python3 -m pip uninstall -y triton; fi && \
6990
python3 -m pip cache purge
7091

csrc/build.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -178,7 +178,7 @@ CUSTOM_OPTION="${CUSTOM_OPTION} -DCUSTOM_ASCEND_CANN_PACKAGE_PATH=${ASCEND_CANN_
178178
set_env
179179
clean
180180

181-
ccache_system=$(which ccache || true)
181+
ccache_system=$(command -v sccache 2>/dev/null || command -v ccache 2>/dev/null || true)
182182
if [ -n "${ccache_system}" ];then
183183
CUSTOM_OPTION="${CUSTOM_OPTION} -DENABLE_CCACHE=ON -DCUSTOM_CCACHE=${ccache_system}"
184184
gen_bisheng ${ccache_system}

0 commit comments

Comments
 (0)