ZacharyZcR
f853ea8a0b
refactor: split glm.c into colibri.c + 4 header modules
...
Rename glm.c → colibri.c and extract four self-contained modules
into header-only files (same pattern as st.h/tier.h/grammar.h):
quant.h (672 lines) — SIMD matmul kernels, quantization
sample.h (143 lines) — RNG, top-p sampling, stop-set
kv_persist.h (121 lines) — .coli_kv disk persistence
telemetry.h (189 lines) — dashboard protocol, stats, usage
Main engine file shrinks from 6588 to 5396 lines (−18%).
Build system: primary target is now colibri$(EXE); `make glm`
remains as a phony alias for backward compat. CI, setup.sh,
coli CLI, and all 10 test files that include the engine are
updated. make check passes (C + Python, 73 tests, zero warnings).
2026-07-19 21:12:04 +08:00
Sidd
2416bc9079
Translate user-facing runtime output to English, machine prefixes preserved, + CLI output test ( #67 , #85 )
...
* feat: standardize runtime output in English
* test: cover English CLI output
2026-07-12 13:38:40 +02:00
JustVugg
1bdaeee82e
setup.sh: detect libomp by dylib presence, not brew prefix (false-positive fix by fabio-rovai, #47 )
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-07-11 13:02:34 +02:00
nalepy
89d95fc73b
Windows 11 native port, phase 1: MinGW-w64 static build, compat shims, setup + docs ( #40 )
...
* fix: Windows port audit fixes — _FILE_OFFSET_BITS guard, O_BINARY st.h, getrusage peak, oracle diagnostic, setup.sh wmic
Audit remediation (all MEDIUM issues fixed):
- compat.h: compile-time #error if _FILE_OFFSET_BITS < 64 on _WIN32
- compat.h: COMPAT_O_RDONLY macro (O_RDONLY|O_BINARY on Windows, belt-and-braces)
- st.h: use COMPAT_O_RDONLY in both open() call sites (plan §1 row 1)
- compat.h: getrusage shim now uses PeakWorkingSetSize (ru_maxrss = peak, not current)
- glm.c: oracle mismatch diagnostic — prints position/expected/got on TF failures
- setup.sh: replace deprecated wmic with /proc/meminfo (MSYS2 provides it)
- .gitignore: *.exe, glm_tiny/, olmoe_hf/, olmoe_i4/
LOW issues addressed:
- _FILE_OFFSET_BITS guard prevents silent 32-bit off_t wrap at >4GB offsets
- coli Windows venv path (Scripts/python.exe) fixed earlier
- posix_fadvise do{}while(0) kept intentionally — no caller checks return code
Verification: oracle 32/32, 27/27 Python tests, rename EEXIST, >4GB pread offset.
* docs: add Windows 11 native port section to README
- Toolchain: MinGW-w64 (winlibs or MSYS2), GCC 16.1 tested
- Build instructions: make glm.exe, tiny oracle verification
- Runtime: SNAP=..., coli chat, coli serve all work
- Status: Phase 1 complete (compiles, correct, static-linked)
- Update platform requirements to include Windows 11 natively
2026-07-11 12:59:49 +02:00
ZacharyZcR
13e8f09ffc
Organize project tools and local workflows: c/tools, c/scripts, c/tests, root Makefile (flat C core untouched) ( #22 )
2026-07-10 10:08:39 +02:00
RDouglas
dd8c907800
macOS/Apple Silicon port: NEON kernels + platform shim (PR #1 by RDouglasSharp)
2026-07-06 22:01:12 +02:00
JustVugg
1ae22a6135
colibrì: pure-C GLM-5.2 (744B MoE) engine with disk-streamed experts
...
Engine (c/glm.c): MLA attention with compressed KV, sigmoid noaux_tc router,
int8/int4/int2 quant kernels (AVX2), per-layer LRU expert cache + pinned
hot-store, batch-union MoE, native MTP speculative decoding (lossless),
multi-stop + official chat template, RAM auto-budget from MemAvailable.
Tokenizer: byte-level BPE in C. Tooling: coli CLI, disk-safe FP8→int4
converter, tiny-random oracle validation (TF 32/32, greedy 20/20).
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-07-05 20:57:25 +02:00