Devotd Github
새 소식LLM 인프라

pushkinist/rmlx 4c6e22eb — 스크립트 정리와 mlx-c 0.8 대응

pushkinist/rmlx가 쓰이지 않는 개발 스크립트를 지우고 계열별 스크립트를 하나의 도구로 합쳤으며, mlx-c 0.8 빌드 대응을 함께 추가했다.

저장소 정보pushkinist/rmlx ↗

pushkinist/rmlx가 쓰이지 않는 개발 스크립트를 지우고 계열별 스크립트를 하나의 도구로 합쳤으며, mlx-c 0.8 빌드 대응을 함께 추가했다.

GitHub 설명: Native Rust, single-binary MLX inference server for Apple Silicon. OpenAI/Anthropic-compatible LLM serving — text, vision, audio, embeddings — with the widest weight×KV quantization matrix of any MLX server. No Python, no GGUF.

스타
★ 16
포크
5
언어
Rust
라이선스
Apache-2.0
최신 릴리스
v0.4.3
원문 보기 ↗GitHub에서 보기 ↗

pushkinist/rmlx의 최신 커밋 4c6e22eb(2026-11-07)는 개발용 스크립트 감사 결과다. Apple Silicon용 MLX 추론 서버의 스크립트 중 아무것도 실행하지 않는 파일은 지우고, 비슷한 계열의 스크립트는 모드나 플래그를 갖춘 하나의 도구로 합쳤다. 규칙은 scripts/README.md에 적었고 make ci의 check-scripts가 검사한다.

Bash 파일은 115개에서 80개로, Python 파일은 48개에서 53개로 줄었다. 도구와 모듈, lib을 합친 규모는 128개 파일 39,730줄에서 85개 파일 34,415줄로 줄었다. 반대로 검증 쪽은 늘었다. recall 테스트가 22,233줄에서 32,349줄로 늘었고 새로 들어온 scripts-rules 게이트만 3,316줄이다. 픽스처는 203개에서 959개로, 네 개 게이트가 처음으로 recall 테스트를 받았고 GPU 테스트 게이트에는 약 150개 케이스가 추가됐다.

도구 사용 방식도 바뀐다. 바이너리 경로는 --binary 플래그 하나로 통일되며 RMLX_BIN, RMLX_BINARY, RMLX 환경 변수는 쓰이지 않는다. 상대 경로이거나 빈 RMLX_HOME은 셸 도구와 Makefile 레시피, wikitext2_ppl.py가 거부한다. 스키마 카나리 증명은 RMLX_HOME 아래 proofs/schema-constraint로, Wikitext-2 캐시는 cache/wikitext-2로 옮겨졌다. 스모크 검사는 더 엄격해졌고 하나도 빠지지 않았다. serve_bench.sh, ssd_canary.sh, wikitext2_ppl.py는 기록이 남지 않으면 75로 끝난다.

한편 mlx-c 0.8 대응도 같은 커밋에 들어 있다. rmlx-mlx는 mlx-c 0.8 C API와 Homebrew의 최신 mlx-c, 0.6과 0.7에 맞춰 빌드되며, 0.8이 mlx_gather_qmm의 sorted_indices 앞에 nullable global_scale을 추가한 만큼 build_support.rs는 함수 인자 수와 마커 export로 C API를 구분하고 다른 형태이면 빌드를 멈춘다. 실행 시에도 gather_qmm과 SDPA 래퍼가 C API 불일치를 거부한다. 핀은 mlx 0.32.3과 mlx-c 0.7.0 그대로이고, 0.8은 make ci의 0.7 조합과 0.8.0 헤더를 대상으로 한 컴파일 전용 clippy, macos-26 호스티드 빌드까지만 확인됐다. 0.8에서 GPU 테스트나 모델을 돌린 기록은 없다. 호스티드 빌드 작업도 GitHub가 macos-14를 제공하지 않으면서 macos-26으로 바뀌었다. 정리된 규칙은 CI에서 계속 걸리므로 반복 실행 환경에는 안전하지만, 0.8 대응은 컴파일과 빌드 수준에 머물러 실제 GPU 경로 동작은 0.7 핀을 쓰는 동안 확인되지 않았다.