diff --git a/docker/Dockerfile.multi b/docker/Dockerfile.multi index b6bd6829701..27e97212e5c 100644 --- a/docker/Dockerfile.multi +++ b/docker/Dockerfile.multi @@ -107,7 +107,7 @@ RUN GITHUB_MIRROR=${GITHUB_MIRROR} bash ./install_triton.sh && rm install_triton RUN if [ -f /etc/redhat-release ]; then \ echo "Rocky8 detected, skipping mooncake installation"; \ else \ - bash ./install_mooncake.sh; \ + GITHUB_MIRROR=${GITHUB_MIRROR} bash ./install_mooncake.sh; \ fi && rm install_mooncake.sh FROM ${DEVEL_IMAGE} AS wheel diff --git a/docker/common/install_mooncake.sh b/docker/common/install_mooncake.sh index 15301ba0fcf..391f8f9a4df 100644 --- a/docker/common/install_mooncake.sh +++ b/docker/common/install_mooncake.sh @@ -1,6 +1,11 @@ #!/bin/bash set -ex +GITHUB_URL="https://github.com" +if [ -n "${GITHUB_MIRROR}" ]; then + GITHUB_URL=${GITHUB_MIRROR} +fi + MOONCAKE_VERSION="v0.3.6.post1" MOONCAKE_REPO="https://github.com/kvcache-ai/Mooncake.git" MOONCAKE_INSTALL_PATH="/usr/local/Mooncake" @@ -27,8 +32,12 @@ apt-get install -y --no-install-recommends \ mkdir -p /third-party-source -git clone --depth 1 https://github.com/alibaba/yalantinglibs.git -tar -czf /third-party-source/yalantinglibs.tar.gz yalantinglibs +YALANTINGLIBS_VERSION="0.5.5" +curl -L ${GITHUB_URL}/alibaba/yalantinglibs/archive/refs/tags/${YALANTINGLIBS_VERSION}.tar.gz -o yalantinglibs-${YALANTINGLIBS_VERSION}.tar.gz +tar -xzf yalantinglibs-${YALANTINGLIBS_VERSION}.tar.gz +# Auto-detect extracted directory name +YALANTINGLIBS_DIR=$(tar -tzf yalantinglibs-${YALANTINGLIBS_VERSION}.tar.gz | head -1 | cut -f1 -d"/") +mv ${YALANTINGLIBS_DIR} yalantinglibs cd yalantinglibs mkdir build && cd build cmake .. -DBUILD_EXAMPLES=OFF -DBUILD_BENCHMARK=OFF -DBUILD_UNIT_TESTS=OFF @@ -41,6 +50,7 @@ git clone --depth 1 -b ${MOONCAKE_VERSION} ${MOONCAKE_REPO} tar -czf /third-party-source/Mooncake-${MOONCAKE_VERSION}.tar.gz Mooncake cd Mooncake git submodule update --init --recursive --depth 1 + mkdir build && cd build cmake .. -DUSE_CUDA=ON -DBUILD_SHARED_LIBS=ON -DCMAKE_INSTALL_PREFIX=${MOONCAKE_INSTALL_PATH} make -j diff --git a/docker/common/install_nixl.sh b/docker/common/install_nixl.sh index b7ee249c1f8..8dc29ae464f 100644 --- a/docker/common/install_nixl.sh +++ b/docker/common/install_nixl.sh @@ -2,10 +2,12 @@ set -ex GITHUB_URL="https://github.com" +if [ -n "${GITHUB_MIRROR}" ]; then + GITHUB_URL=${GITHUB_MIRROR} +fi UCX_INSTALL_PATH="/usr/local/ucx/" CUDA_PATH="/usr/local/cuda" NIXL_VERSION="0.7.1" -NIXL_REPO="https://github.com/ai-dynamo/nixl.git" OLD_LD_LIBRARY_PATH=$LD_LIBRARY_PATH ARCH_NAME="x86_64-linux-gnu" @@ -20,7 +22,9 @@ if [ -n "${GITHUB_MIRROR}" ]; then fi pip3 install --no-cache-dir meson ninja pybind11 -git clone --depth 1 -b ${NIXL_VERSION} ${NIXL_REPO} +curl -L ${GITHUB_URL}/ai-dynamo/nixl/archive/refs/tags/${NIXL_VERSION}.tar.gz -o nixl-${NIXL_VERSION}.tar.gz +tar -xzf nixl-${NIXL_VERSION}.tar.gz +mv nixl-${NIXL_VERSION} nixl cd nixl CUDA_SO_PATH=$(find "/usr/local" -name "libcuda.so.1" 2>/dev/null | head -n1) diff --git a/docker/common/install_ucx.sh b/docker/common/install_ucx.sh index 2807182bd8e..3d908e42210 100644 --- a/docker/common/install_ucx.sh +++ b/docker/common/install_ucx.sh @@ -1,13 +1,19 @@ #!/bin/bash set -ex -UCX_VERSION="v1.19.x" +GITHUB_URL="https://github.com" +if [ -n "${GITHUB_MIRROR}" ]; then + GITHUB_URL=${GITHUB_MIRROR} +fi + +UCX_VERSION="1.19.x" UCX_INSTALL_PATH="/usr/local/ucx/" CUDA_PATH="/usr/local/cuda" -UCX_REPO="https://github.com/openucx/ucx.git" rm -rf ${UCX_INSTALL_PATH} -git clone --depth 1 -b ${UCX_VERSION} ${UCX_REPO} +curl -L ${GITHUB_URL}/openucx/ucx/archive/refs/heads/v${UCX_VERSION}.tar.gz -o ucx-${UCX_VERSION}.tar.gz +tar -xzf ucx-${UCX_VERSION}.tar.gz +mv ucx-${UCX_VERSION} ucx cd ucx ./autogen.sh ./contrib/configure-release \