CI: fix ARM64 image build error & enable compilation#20929
CI: fix ARM64 image build error & enable compilation#20929CISC merged 9 commits intoggml-org:masterfrom
Conversation
|
I affirm that the below (using GCC 14) works well for build-and-push-job:
stage: build-and-push
variables:
LLAMA_CPP_REF: "b8477"
script:
- cd $CI_PROJECT_DIR
- git clone https://github.com/ggml-org/llama.cpp.git
- cd llama.cpp
- git checkout $LLAMA_CPP_REF
- |
- sed -i 's/apt-get install -y build-essential/apt-get install -y gcc-14 g++-14 build-essential/g' .devops/cuda-new.Dockerfile
- sed -i '/apt-get install -y gcc-14 g++-14 build-essential/a ENV CC=gcc-14 CXX=g++-14 CUDAHOSTCXX=g++-14' .devops/cuda-new.Dockerfile
- |
# Build cuda-new.Dockerfile
docker buildx build \
-f .devops/cuda-new.Dockerfile \
--push \
--provenance=false \
--platform linux/arm64 \
--target full \
-t $CI_REGISTRY_IMAGE:latest \
-t $CI_REGISTRY_IMAGE:$CI_COMMIT_SHORT_SHA \
. |
Co-authored-by: Aaron Teo <taronaeo@gmail.com>
|
@ggerganov Can we get some assistance to trigger the CI? :) |
|
@Ts-sound Since you just reverted your arm9.2 + SME comment |
|
SME features require GCC 14 + , but upgrading the compiler is not up to me to decide. @ehfd |
Do you still need help - I think you should be able to trigger now? |
|
Any reason not to set |
Ah, it was initially to test if armv9 is recognised with ubuntu 24.04 / GCC 13. Let's shift all to 24.04 now :) |
Co-authored-by: Aaron Teo <taronaeo@gmail.com>
…ntu_version: "24.04")
|
This is the error I face while building the CUDA image in ARM for GH200 or DGX Spark. The same issue exists in the CPU build. As I have discussed earlier, the solution for both CPU and CUDA is to use GCC 14 in Ubuntu 24.04: # Add gcc-14 and g++-14
sed -i 's/apt-get install -y build-essential/apt-get install -y gcc-14 g++-14 build-essential/g' .devops/cuda-new.Dockerfile
# Add `CC=gcc-14 CXX=g++-14 CUDAHOSTCXX=g++-14`
sed -i '/apt-get install -y gcc-14 g++-14 build-essential/a ENV CC=gcc-14 CXX=g++-14 CUDAHOSTCXX=g++-14' .devops/cuda-new.Dockerfile |
|
I know what you mean. |
Well then, the PR that adds new ARM64 feature gates would have to add those capabilities in this repository first, wouldn't it? Unless the flags like |
taronaeo
left a comment
There was a problem hiding this comment.
LGTM, will need 1 more approval.
Co-authored-by: Aaron Teo <taronaeo@gmail.com>
* CI: fix ARM64 image build error & enable compilation * Update .github/workflows/docker.yml Co-authored-by: Aaron Teo <taronaeo@gmail.com> * CI: revert ggml/src/ggml-cpu/CMakeLists.txt * Update .github/workflows/docker.yml Co-authored-by: Aaron Teo <taronaeo@gmail.com> * CI: update runs-on to ubuntu24.04, and update ARM64 build image ( ubuntu_version: "24.04") * CI: change cpu.Dockerfile gcc to 14; * CI : cpu.Dockerfile , update pip install . * Update .github/workflows/docker.yml Co-authored-by: Aaron Teo <taronaeo@gmail.com> --------- Co-authored-by: Aaron Teo <taronaeo@gmail.com>
* CI: fix ARM64 image build error & enable compilation * Update .github/workflows/docker.yml Co-authored-by: Aaron Teo <taronaeo@gmail.com> * CI: revert ggml/src/ggml-cpu/CMakeLists.txt * Update .github/workflows/docker.yml Co-authored-by: Aaron Teo <taronaeo@gmail.com> * CI: update runs-on to ubuntu24.04, and update ARM64 build image ( ubuntu_version: "24.04") * CI: change cpu.Dockerfile gcc to 14; * CI : cpu.Dockerfile , update pip install . * Update .github/workflows/docker.yml Co-authored-by: Aaron Teo <taronaeo@gmail.com> --------- Co-authored-by: Aaron Teo <taronaeo@gmail.com>
* CI: fix ARM64 image build error & enable compilation * Update .github/workflows/docker.yml Co-authored-by: Aaron Teo <taronaeo@gmail.com> * CI: revert ggml/src/ggml-cpu/CMakeLists.txt * Update .github/workflows/docker.yml Co-authored-by: Aaron Teo <taronaeo@gmail.com> * CI: update runs-on to ubuntu24.04, and update ARM64 build image ( ubuntu_version: "24.04") * CI: change cpu.Dockerfile gcc to 14; * CI : cpu.Dockerfile , update pip install . * Update .github/workflows/docker.yml Co-authored-by: Aaron Teo <taronaeo@gmail.com> --------- Co-authored-by: Aaron Teo <taronaeo@gmail.com>
Overview
Fix ARM64 build failures caused by:
armv9.2-adetection in CMake (compiler only supports up toarmv8.6-a)Changes:
tonistiigi/binfmt:qemu-v10.2.1Additional Information
Related Issues:
Verified Build: https://github.com/Ts-sound/llama.cpp/actions/runs/23467958136
Requirements