Is there an existing issue for this?
Current Behavior
We wish to deploy our lettuce docker images as multi-architecture builds so that both linux/amd64 and linux/arm64 are supported. However, GitHub CI runners do not currently natively support arm64 architectures, so they use the Quick Emulator (QEMU) to emulate their architecture.
It appears as though this emulator does not support all features of the arm processor required by the llama-cpp-python library. Certain low-level CPU features (e.g., DOTPROD, SVE, FP16) or compiler optimizations (e.g., -mcpu=native) may behave differently or fail under emulation, especially for a library like llama-cpp-python that relies heavily on CPU-specific optimizations and native code compilation via CMake.
The docker build on the CI runner is therefore failing at the uv sync step.
Expected Behavior
The build should proceed successfully and the image build check and development image publishing should be successful for multi-architecture builds.
Steps To Reproduce
- Add the QEMU emulation action on the
check.container-build.yml workflow (this actionsis commented out in the release.dev-base.yml workflow.)
- In the build docker image action add the
linux/arm64 to the platforms key alongside amd/64.
- Run the workflow (can trigger manually on GitHub).
Environment
- OS:
- Other environment details:
I'm part of a Project Team
No response
Anything else?
No response
Are you willing to contribute to resolve this issue?
None
Is there an existing issue for this?
Current Behavior
We wish to deploy our lettuce docker images as multi-architecture builds so that both
linux/amd64andlinux/arm64are supported. However, GitHub CI runners do not currently natively supportarm64architectures, so they use the Quick Emulator (QEMU) to emulate their architecture.It appears as though this emulator does not support all features of the arm processor required by the
llama-cpp-pythonlibrary. Certain low-level CPU features (e.g., DOTPROD, SVE, FP16) or compiler optimizations (e.g., -mcpu=native) may behave differently or fail under emulation, especially for a library like llama-cpp-python that relies heavily on CPU-specific optimizations and native code compilation via CMake.The docker build on the CI runner is therefore failing at the
uv syncstep.Expected Behavior
The build should proceed successfully and the image build check and development image publishing should be successful for multi-architecture builds.
Steps To Reproduce
check.container-build.ymlworkflow (this actionsis commented out in therelease.dev-base.ymlworkflow.)linux/arm64to theplatformskey alongsideamd/64.Environment
I'm part of a Project Team
No response
Anything else?
No response
Are you willing to contribute to resolve this issue?
None