Split the structures layer into FlashRT-Structures; keep the catalog as flash_rt.catalog - #197
Merged
Merged
Conversation
LiangSu8899
marked this pull request as ready for review
September 11, 2026 18:43
…as flash_rt.catalog The host-attach layer (discovery, calibration collection, schemes, gates, guard/swap, the doors, the executable forms, the transformers / diffusers / vLLM / SGLang adapters) moves to its own repository and distribution, flashrt-structures, importable as `flashrt_structures`. It never had a consumer inside this package, and its kernels arrive from the kernel hub rather than from csrc/, so it was a second product sharing this package's name. What stays here is the contract data every host reads, now `flash_rt.catalog`: the structure specifications with their plain-torch references (`flash_rt/catalog/structures/`), the per-host bindings (`flash_rt/catalog/bindings/`), and the two loaders. The runtime exporters, the native host adapters and the new package all consume it from here. The captured-graph provider that packages a host's CUDA graph as frt_model_runtime_v1 moves to `flash_rt/runtime/provider.py`, beside the runtime it targets. The cosine / max-abs / p99-abs judge becomes `flash_rt/core/parity.py`, the single definition the NPU verifier and the new package's gates both use. `flash_rt.structures` now raises an ImportError naming the new distribution. The six catalog contract tests stay (renamed test_catalog_*); the scheme test that lived in test_core_quantization goes with the schemes. README, CONTRIBUTING and pyproject point at the new repository; the `hub` extra goes with the layer that used it. Version 0.2.0: the pure-Python wheel now ships flash_rt.catalog, which flashrt-structures requires.
LiangSu8899
force-pushed
the
refactor/split-structures
branch
from
September 11, 2026 18:54
b35fa90 to
cd88e82
Compare
This was referenced Sep 11, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What moves out
The host-attach layer — discovery, calibration collection, schemes, gates, guard/swap, the doors, every executable form, the transformers / diffusers / vLLM / SGLang adapters, the explicit pipeline examples, the structures docs and
AGENTS.md— now lives in FlashRT-Structures as theflashrt-structuresdistribution, importable asflashrt_structures. Extracted with history.It never had a consumer inside this package (no import from
flash_rt.api,models,frontends,runtime,serving), and its kernels arrive from the kernel hub rather than fromcsrc/, so it was a second product sharing this package's name and wheel.What stays
flash_rt.catalog— the contract data every host reads: structure specs with their plain-torch references (flash_rt/catalog/structures/), per-host bindings (flash_rt/catalog/bindings/), and the two loaders. Consumed by the runtime exporters, the native host adapters, and the new package (through the pure-Pythonflash-rtwheel).flash_rt/runtime/provider.py— the captured-graph provider that packages a host's CUDA graph asfrt_model_runtime_v1, beside the runtime it targets.flash_rt/core/parity.py— the cosine / max-abs / p99-abs judge, now the single definition shared by the NPU verifier and the new package's gates.test_catalog_*.flash_rt.structuresraises anImportErrornaming the new distribution. README, CONTRIBUTING andpyprojectpoint at the new repository; thehubextra goes with the layer that used it. Version bumps to 0.2.0: the pure-Python wheel now shipsflash_rt.catalog, whichflashrt-structuresrequires.Verification
flash_rt.catalog: 17 structures, 27 bindings load;load_bindingand reference resolution work.tests/test_catalog_*.py,tests/test_core_quantization.py).flash_rt.structures/flash_rt/structuresreferences outside the shim.*_gputests were not run).Follow-up
#186 (native ggml adapter) is rebased onto this once it lands: its adapter already sits at
hosts/ggml, and its catalog and binding additions move underflash_rt/catalog/.