Why doesn't ggml distrbute libggml-cpu-{arch}.so got all CPU architectures?
Author: yurivictCreated Sep 16, 2026Updated Sep 16, 2026
Does ggml build only for one architecture? If this is true then this is a performance hit in any packaging system because they need to build one-for-all library with only baseline instructions.
ollama installs these variants:
lib/ollama/libggml-cpu-alderlake.so \
lib/ollama/libggml-cpu-cannonlake.so \
lib/ollama/libggml-cpu-cascadelake.so \
lib/ollama/libggml-cpu-cooperlake.so \
lib/ollama/libggml-cpu-haswell.so \
lib/ollama/libggml-cpu-icelake.so \
lib/ollama/libggml-cpu-ivybridge.so \
lib/ollama/libggml-cpu-piledriver.so \
lib/ollama/libggml-cpu-sandybridge.so \
lib/ollama/libggml-cpu-sapphirerapids.so \
lib/ollama/libggml-cpu-skylakex.so \
lib/ollama/libggml-cpu-sse42.so \
lib/ollama/libggml-cpu-x64.so \
lib/ollama/libggml-cpu-zen4.soShouldn't ggml itself do the same?
Source: ggml-org/ggml