5c84b25645
Older macs still need -march, not -mcpu. Before this fix, no ymm (or zmm, vnni, etc.). Standalone repro: ``` % clang -O3 -mcpu=native glm.c -o /tmp/glm clang: error: unsupported option '-mcpu=' for target 'x86_64-apple-darwin25.4.0' % clang -O3 -mcpu=native glm.c -o /tmp/glm -lm % otool -tv /tmp/glm | grep -c ymm 0 ``` I'm not entirely sure why `-lm` would ignore `-mcpu=` rather than error, but either way we don't get vector instructions: colibri itself: ``` % ulimit -l unlimited; OMP_NUM_THREADS=16 RAM_GB=700 PIN=auto PIN_GB=all PIN_FILL=1 ./coli run --ram 700 --model ~/projects/llms/glm5p2-i4 --ngen 256 "Explain the difference between concurrency and parallelism" ... == GLM C engine (glm_moe_dsa), cache=8 experts/layer | experts@8-bit dense@8-bit | idot: scalar == ``` After the fix, we'll get it: ``` % clang -O3 -march=native glm.c -o /tmp/glm -lm % otool -tv /tmp/glm | grep -c ymm 2621 ``` colibri run: ``` % ulimit -l unlimited; OMP_NUM_THREADS=16 RAM_GB=700 PIN=auto PIN_GB=all PIN_FILL=1 ./coli run --ram 700 --model ~/projects/llms/glm5p2-i4 --ngen 256 "Explain the difference between concurrency and parallelism" ... == GLM C engine (glm_moe_dsa), cache=8 experts/layer | experts@8-bit dense@8-bit | idot: avx512-vnni == ```