Skip to content

Commit 02a182d

Browse files
lalaluneclaude
andcommitted
fix(apple): add Q1_0_g32/g128 generic aliases in arch-fallback.h
Resolves iOS/tvOS/visionOS linker failure on CI (apple) where the Xcode generator's empty CMAKE_SYSTEM_PROCESSOR triggers GGML_SYSTEM_ARCH=UNKNOWN and -DGGML_CPU_GENERIC, leaving Eliza-added Q1_0_g32/Q1_0_g128 vec_dot symbols undefined. Mirrors the existing q1_0_q8_0 fallback alias. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent 3ddd174 commit 02a182d

2 files changed

Lines changed: 3 additions & 0 deletions

File tree

.swarm/collab.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,7 @@ CI started reporting concrete failures across 3rd-party, virtgpu, cann, apple, h
7272
- **Q** — HIP `Build with Werror` failure on 854f61ee7 was NOT M's fattn-common.cuh — it's `ggml/src/ggml-cuda/cpy.cu:439-441` declaring `ne00/ne01/ne02` as `const int64_t` then reassigning them at lines 483-485 and 494-496. HIP clang `-Werror` rejects (gcc CUDA host build silently accepted). Files: ggml/src/ggml-cuda/cpy.cu
7373
- **P** — ggml-cpu.c switches missing GGML_OP_ATTN_SCORE_TBQ/POLAR. Files: ggml/src/ggml-cpu/ggml-cpu.c
7474
- **O** — test-model-load-buffer gguf_init_from_buffer undefined; implementing the function in ggml (refactor gguf_reader to accept FILE* or buffer source). Files: ggml/include/gguf.h, ggml/src/gguf.cpp
75+
- **R** — CI (apple) iOS/tvOS/visionOS build linker failure: `_ggml_vec_dot_q1_0_g32_q8_0` / `_ggml_vec_dot_q1_0_g128_q8_0` undefined under arm64. Root cause: Apple Xcode generator without `CMAKE_OSX_ARCHITECTURES` set leaves `CMAKE_SYSTEM_PROCESSOR` empty → `GGML_SYSTEM_ARCH=UNKNOWN``-DGGML_CPU_GENERIC` and no `arch/arm/quants.c` in sources, so the only definitions of those Eliza-added Q1_0_g32/g128 NEON kernels are out-of-build, while `ggml-cpu.c` `type_traits_cpu` still references the public names. `arch-fallback.h` aliases the upstream `_q1_0_q8_0_generic → _q1_0_q8_0` but never added the new g32/g128 aliases. Files: ggml/src/ggml-cpu/arch-fallback.h.
7576

7677
## Completed
7778

ggml/src/ggml-cpu/arch-fallback.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -217,6 +217,8 @@
217217
#elif defined(__riscv)
218218
// quants.c
219219
#define ggml_vec_dot_nvfp4_q8_0_generic ggml_vec_dot_nvfp4_q8_0
220+
#define ggml_vec_dot_q1_0_g32_q8_0_generic ggml_vec_dot_q1_0_g32_q8_0
221+
#define ggml_vec_dot_q1_0_g128_q8_0_generic ggml_vec_dot_q1_0_g128_q8_0
220222
// repack.cpp
221223
#define ggml_quantize_mat_q8_0_4x1_generic ggml_quantize_mat_q8_0_4x1
222224
#define ggml_quantize_mat_q8_0_4x4_generic ggml_quantize_mat_q8_0_4x4

0 commit comments

Comments
 (0)