-
Notifications
You must be signed in to change notification settings - Fork 10.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
docker : fix CPU ARM build #11403
docker : fix CPU ARM build #11403
Conversation
.devops/cpu.Dockerfile
Outdated
RUN if [ "$TARGETARCH" = "amd64" ]; then \ | ||
cmake -S . -B build -DGGML_BACKEND_DL=ON -DGGML_NATIVE=OFF -DGGML_CPU_ALL_VARIANTS=ON -DLLAMA_CURL=ON -DCMAKE_BUILD_TYPE=Release; \ | ||
else \ | ||
cmake -S . -B build -DCMAKE_BUILD_TYPE=Release; \ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can be add back -DLLAMA_CURL=ON
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Forgot about that, added.
I triggered the CI for building docker: https://github.com/ggerganov/llama.cpp/actions/runs/12965742642 |
Looks like QEMU needs to be installed first. |
Hmm ok the CI fails due to |
I think it's missing the |
It is an issue of the ARM build with gcc. The actual error is a bit earlier than that: I can fix it, but we need to choose an arm version to build for. The problem is that the only version that makes sense for a generic container is the most generic build without any features enabled, and performance is going to be very bad. So I am not sure that it is even worth to make ARM images, until support is added for building multiple versions of the CPU backend, as is done for x86. Until then, people should build their own images, optimized for their hardware. |
Hmm ok I don't have the hardware to test it either, so I think we can disable it now and see if the community can help. If we ever bring this back in the future, probably target commonly known HW like raspberry pi or Ampere cpus. |
I will change it so that there is an argument to select the ARM architecture to build for, set to |
* docker : fix CPU ARM build * add CURL to other builds
This should fix the CPU docker images for ARM. The build will only be optimized for the machine running the build (
GGML_NATIVE
is enabled).