3 Commits
Author SHA1 Message Date
pierreandLetta Code 5669c18b3e transformer: LayerNorm, RMSNorm, GELU, SiLU, Embedding, GEMM, attention (self + cross), multi-head, RoPE, causal mask
The transformer layer set for smol transformer + graph-augmented inference.
Attention supports self-attention (causal) and cross-attention (no causal
mask, K/V from graph embeddings). RoPE included for positional encoding.

👾 Generated with [Letta Code](https://letta.com)

Co-Authored-By: Letta Code <noreply@letta.com>
2026-09-30 10:16:21 +03:00
pierreandLetta Code a2ff07234c fix(linear): add bias once, not once per SIMD lane
acc was seeded with @splat(bias) and reduced with .Add, so every
linear output carried 7 extra copies of its bias. conv2d was unaffected
(bias via memset), which is why the trunk matched zig-solver to 5e-6
while fc/head activations diverged — the 81% labels regression.

Also adds a scalar tail for in_n < 8 (pose_fc has in_n=4) and a
known-answer selftest (test_linear).

👾 Generated with [Letta Code](https://letta.com)

Co-Authored-By: Letta Code <noreply@letta.com>
2026-09-29 22:08:45 +03:00
pierreandLetta Code d401f6b07e crucible v0.1: CPU inference library for PyTorch .pt state dicts, in pure Zig
- restricted pickle VM (whitelisted globals — cannot execute arbitrary
  Python, unlike torch.load)
- zip container reader (store + raw-deflate)
- Tensor views: dtype/offset/sizes/strides, f32 materialization
- layers: conv2d f32x8 FMA, linear, relu, maxpool2, adaptiveAvgPool2d,
  softmax, padInput
- examples/stripsolver: real .pt forward, 3777 @ 1.0

👾 Generated with [Letta Code](https://letta.com)

Co-Authored-By: Letta Code <noreply@letta.com>
2026-09-29 18:41:46 +03:00