Demos:
- rtx-distllm-demo: real rtx-tensor weights per shard, real
scaled-dot-product attention forward, metrics measured (Instant)
instead of hardcoded constants; network topology remains a documented
simulation fed by real tensor byte sizes.
- rtx-model-zoo: MockInferenceEngine deleted; RealInferenceEngine loads
a tiny real transformer into rtx_inference::InferenceEngine and runs
genuine engine.infer per request; domain outputs are explicitly-
labeled toy proxies derived from real output tokens.
- rtx-inference-profiler: mock models deleted; profiles real
matmul/softmax pipelines on rtx-tensor with measured latency/memory.
Inference-path bugs the demos surfaced (fixed here):
- ForwardPass::apply_embedding misused Tensor::gather for the embedding
lookup — gather returns the indices' shape, silently dropping the
hidden dim and breaking every downstream broadcast. Now uses the
existing Tensor::embedding_lookup ([vocab,hidden] x [batch,seq] ->
[batch,seq,hidden]).
- Attention weight lookup accepts both self_attn. (HF-LLaMA) and
attention. prefixes; final layer norm accepts norm.weight /
model.norm.weight / ln_f.weight aliases.
- Integration fixture gains the final norm weight; the previously
always-failing engine tests now pass (8/8 model_loading_test).
End-to-end inference through the real engine now works for the first
time — verified via model_zoo_demo producing real forward-pass outputs
across all categories.
Co-Authored-By: Claude Fable 5 <[email protected]>