Skip to content

QLISP v2.7.3 — HibLin OOM-фиксы: loop store и автоочистка ленты

Choose a tag to compare

@FQingLars FQingLars released this 27 Sep 16:15
· 5 commits to main since this release

QLISP 2.7.3 — Release Notes

Тег: v2.7.3 · Платформы: Linux x86_64, Windows x86_64
Бинарники — сборка CI (Linux: GCC/Ninja/OpenBLAS/OpenMP; Windows: MSYS2 MinGW64), коммит bddf9a5 ветки main компиляторного репозитория (CI run 36245817114, зелёный). Состав: qlisp (REPL/интерпретатор + JIT), qlisp-lsp, qvalent.

Файл Платформа Состав
qlisp-linux-x86_64 Linux x86_64 REPL/интерпретатор + JIT
qlisp-lsp-linux-x86_64 Linux x86_64 Language Server
qvalent-linux-x86_64 Linux x86_64 пакетный менеджер
qlisp-windows-x86_64.zip Windows x86_64 qlisp.exe, qlisp-lsp.exe, qvalent.exe

SHA256SUMS — контрольные суммы всех файлов.

Что нового — HibLin OOM-фиксы (production-чеки закрыты)

Память: setq в цикле больше не растит мир

  • setq по let-привязке, обновляемой в while, теперь re-home в loop store с явными правилами владения. До фикса promote-в-root для всех привязок давал O(n²)/линейный immortal-рост: 20k cons-setq в цикле — 12.5 ГБ (OOM), setq тензора 64x64 — +82 МБ на прогон.
  • Production-check RSS (до → после): 20k cons setq — 12.5 ГБ (OOM) → пик 35 МБ; 5k tensor setq — +82 МБ → пик 32 МБ.

Автоград: автоочистка ленты на границе формы

  • reset_scratch → seal() запечатывал любой un-backpropagated граф в stable-память: 30k форм с градиентами без GRAD! — +494 МБ навсегда. Теперь сохраняются только defvar-графы, остальные сбрасываются на границе формы (пик 31.7 МБ).

Тесты: 66 сюит зелёные; новые tests/memory_setq.qlsp (7) и tests/tape_autoclear.qlsp (3). Регресс 74/74.