Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
37 changes: 33 additions & 4 deletions .github/build.bat
Original file line number Diff line number Diff line change
Expand Up @@ -49,11 +49,40 @@ REM nvcc command line (it dies with `sccache: error: Could not parse shell line`
REM fails every .cu compile). So CUDA device code is built by nvcc directly (uncached)
REM here; the cl.exe C/C++ TUs still cache via the C/CXX launcher set above.

REM The probe above only proves sccache can wrap cl.exe. Several jobs compile with a
REM different compiler (clang-cl on arm64, ROCm's clang, Intel icx), which sccache may
REM refuse or mishandle -- so a configure or build that fails WITH the launcher is
REM retried ONCE from a clean build dir WITHOUT it (the build.sh retry, but unconditional:
REM cmd cannot tee the output to match an sccache error signature). A genuine compile
REM error therefore still fails, just after one uncached attempt; a cache/compiler
REM incompatibility ends green and uncached, never red.
REM -DGGML_CCACHE=OFF on every configure: ggml otherwise self-enables any ccache/sccache it
REM finds on PATH when no launcher is set -- i.e. exactly in the probe-failed and retry
REM cases -- via the global RULE_LAUNCH_COMPILE, silently re-caching the uncached build.
REM No goto/labels on purpose: this file is checked out with LF line endings
REM (.gitattributes eol=lf), and cmd's label search is unreliable in LF-only scripts.
set "RETRY="
mkdir build
cmake -Bbuild %LAUNCH% %*
if errorlevel 1 exit /b 1
cmake --build build --config Release
set "BUILD_RC=!ERRORLEVEL!"
cmake -Bbuild %LAUNCH% -DGGML_CCACHE=OFF %*
if errorlevel 1 (
if not defined LAUNCH exit /b 1
set "RETRY=1"
) else (
cmake --build build --config Release
set "BUILD_RC=!ERRORLEVEL!"
if not "!BUILD_RC!"=="0" if defined LAUNCH set "RETRY=1"
)
if defined RETRY (
echo build.bat: build WITH sccache failed -- retrying ONCE from scratch WITHOUT the cache.
sccache --show-stats
set "LAUNCH="
rmdir /s /q build
mkdir build
cmake -Bbuild -DGGML_CCACHE=OFF %*
if errorlevel 1 exit /b 1
cmake --build build --config Release
set "BUILD_RC=!ERRORLEVEL!"
)

REM Print cache stats (best-effort) regardless of build outcome -- only when sccache
REM was wired in as the launcher.
Expand Down
6 changes: 3 additions & 3 deletions .github/build_cuda_linux.sh
Original file line number Diff line number Diff line change
Expand Up @@ -5,15 +5,15 @@
#
# SPDX-License-Identifier: MIT

# A Cuda 13.3 install script for RHEL8/Rocky8/Manylinux_2.28
# A Cuda 13.4 install script for RHEL8/Rocky8/Manylinux_2.28
# Available versions can be found at:
# https://developer.download.nvidia.com/compute/cuda/repos/rhel8/x86_64/

sudo dnf install -y kernel-devel kernel-headers
sudo dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
sudo dnf config-manager --add-repo https://developer.download.nvidia.com/compute/cuda/repos/rhel8/x86_64/cuda-rhel8.repo

sudo dnf install -y cuda-toolkit-13-3
sudo dnf install -y cuda-toolkit-13-4

# CUDA target architectures — LOCAL-dev build-speed knob.
#
Expand All @@ -38,4 +38,4 @@ case "${CUDA_FAST_BUILD:-}" in
;;
esac

exec .github/build.sh $@ -DGGML_CUDA=1 -DCMAKE_CUDA_COMPILER=/usr/local/cuda-13.3/bin/nvcc $CUDA_ARCH_ARGS
exec .github/build.sh $@ -DGGML_CUDA=1 -DCMAKE_CUDA_COMPILER=/usr/local/cuda-13.4/bin/nvcc $CUDA_ARCH_ARGS
6 changes: 3 additions & 3 deletions .github/dockcross/dockcross-android-arm
Original file line number Diff line number Diff line change
Expand Up @@ -268,10 +268,10 @@ exit $run_exit_code
# This image is not intended to be run manually.
#
# To create a dockcross helper script for the
# dockcross/android-arm:20240418-88c04a4 image, run:
# dockcross/android-arm:20260712-79e54f9 image, run:
#
# docker run --rm dockcross/android-arm:20240418-88c04a4 > dockcross-android-arm-20240418-88c04a4
# chmod +x dockcross-android-arm-20240418-88c04a4
# docker run --rm dockcross/android-arm:20260712-79e54f9 > dockcross-android-arm-20260712-79e54f9
# chmod +x dockcross-android-arm-20260712-79e54f9
#
# You may then wish to move the dockcross script to your PATH.
#
Expand Down
6 changes: 3 additions & 3 deletions .github/dockcross/dockcross-android-arm64
Original file line number Diff line number Diff line change
Expand Up @@ -268,10 +268,10 @@ exit $run_exit_code
# This image is not intended to be run manually.
#
# To create a dockcross helper script for the
# dockcross/android-arm64:20240418-88c04a4 image, run:
# dockcross/android-arm64:20260712-79e54f9 image, run:
#
# docker run --rm dockcross/android-arm64:20240418-88c04a4 > dockcross-android-arm64-20240418-88c04a4
# chmod +x dockcross-android-arm64-20240418-88c04a4
# docker run --rm dockcross/android-arm64:20260712-79e54f9 > dockcross-android-arm64-20260712-79e54f9
# chmod +x dockcross-android-arm64-20260712-79e54f9
#
# You may then wish to move the dockcross script to your PATH.
#
Expand Down
6 changes: 3 additions & 3 deletions .github/dockcross/dockcross-android-x86_64
Original file line number Diff line number Diff line change
Expand Up @@ -268,10 +268,10 @@ exit $run_exit_code
# This image is not intended to be run manually.
#
# To create a dockcross helper script for the
# dockcross/android-x86_64:20240418-88c04a4 image, run:
# dockcross/android-x86_64:20260712-79e54f9 image, run:
#
# docker run --rm dockcross/android-x86_64:20240418-88c04a4 > dockcross-android-x86_64-20240418-88c04a4
# chmod +x dockcross-android-x86_64-20240418-88c04a4
# docker run --rm dockcross/android-x86_64:20260712-79e54f9 > dockcross-android-x86_64-20260712-79e54f9
# chmod +x dockcross-android-x86_64-20260712-79e54f9
#
# You may then wish to move the dockcross script to your PATH.
#
Expand Down
6 changes: 3 additions & 3 deletions .github/dockcross/dockcross-linux-arm64-lts
Original file line number Diff line number Diff line change
Expand Up @@ -268,10 +268,10 @@ exit $run_exit_code
# This image is not intended to be run manually.
#
# To create a dockcross helper script for the
# dockcross/linux-arm64-lts:20230601-c2f5366 image, run:
# dockcross/linux-arm64-lts:20260712-79e54f9 image, run:
#
# docker run --rm dockcross/linux-arm64-lts:20230601-c2f5366 > dockcross-linux-arm64-lts-20230601-c2f5366
# chmod +x dockcross-linux-arm64-lts-20230601-c2f5366
# docker run --rm dockcross/linux-arm64-lts:20260712-79e54f9 > dockcross-linux-arm64-lts-20260712-79e54f9
# chmod +x dockcross-linux-arm64-lts-20260712-79e54f9
#
# You may then wish to move the dockcross script to your PATH.
#
Expand Down
6 changes: 3 additions & 3 deletions .github/dockcross/dockcross-manylinux2014-x64
Original file line number Diff line number Diff line change
Expand Up @@ -268,10 +268,10 @@ exit $run_exit_code
# This image is not intended to be run manually.
#
# To create a dockcross helper script for the
# dockcross/manylinux2014-x64:20230601-c2f5366 image, run:
# dockcross/manylinux2014-x64:20260712-79e54f9 image, run:
#
# docker run --rm dockcross/manylinux2014-x64:20230601-c2f5366 > dockcross-manylinux2014-x64-20230601-c2f5366
# chmod +x dockcross-manylinux2014-x64-20230601-c2f5366
# docker run --rm dockcross/manylinux2014-x64:20260712-79e54f9 > dockcross-manylinux2014-x64-20260712-79e54f9
# chmod +x dockcross-manylinux2014-x64-20260712-79e54f9
#
# You may then wish to move the dockcross script to your PATH.
#
Expand Down
6 changes: 3 additions & 3 deletions .github/dockcross/dockcross-manylinux_2_28-x64
Original file line number Diff line number Diff line change
Expand Up @@ -268,10 +268,10 @@ exit $run_exit_code
# This image is not intended to be run manually.
#
# To create a dockcross helper script for the
# dockcross/manylinux_2_28-x64:20240812-60fa1b0 image, run:
# dockcross/manylinux_2_28-x64:20260712-79e54f9 image, run:
#
# docker run --rm dockcross/manylinux_2_28-x64:20240812-60fa1b0 > dockcross-manylinux_2_28-x64-20240812-60fa1b0
# chmod +x dockcross-manylinux_2_28-x64-20240812-60fa1b0
# docker run --rm dockcross/manylinux_2_28-x64:20260712-79e54f9 > dockcross-manylinux_2_28-x64-20260712-79e54f9
# chmod +x dockcross-manylinux_2_28-x64-20260712-79e54f9
#
# You may then wish to move the dockcross script to your PATH.
#
Expand Down
Loading
Loading