The output used to move after the small model's warmup had linked the
warp to its address, which needed the warp to link again by dropping a
private tinygrad cached property. Had that ever stopped working, the
small model's own warp would have kept writing the freed memory.
modeld now asks the adapter's coherent_warp() (Jetlink's make_coherent
with Jetlink on, off legacy9d) and load_verified_model moves the small
model's warp output before warmup(), as Jetlink's own warp moves its
output before its first call. CatalogWarp only reads the answer
(warp_copied): sent from where it is, or copied out, chosen once.
cable_connected() is true for any host on the USB-C port. With a Chestnut pick downloaded and Jetlink on, every drive waited 10 s for a chestnut, raised Big Model Failed and left Jetlink unattached. The cable now counts only with Jetlink off.
StarPilotAdapter subclasses jetlink's Stock: StarPilot's param names, the
AOL engagement rule, the model root and a CatalogModelState history reset
that keeps its JIT buffers. jetlinkd runs jetlink's owner as it is, modeld
calls the hooks, and Galaxy and analytics read jetlink's runtime record in
place of JetlinkRuntime.
- no big-model slot or catalog keys: jetlink provisions its default model
- jetlink restores the owner's tuning itself; the port draw stays cut with
a host plugged in
- the Jetson is asked to power off on DoShutdown only, capped at 30 s
* Update tinygrad to latest upstream with minimal openpilot patches
* Rebase tinygrad on latest upstream with one remaining patch
* Use retargetable model and warp artifacts
* Pack compiled model weights to reduce startup time
* Memory-map out-of-band model weights
* Use unmodified upstream tinygrad master
* Keep locally built model artifacts native
* Remove model chunking and use LFS for Chestnut releases
* Check Git blob sizes once during release packaging
* Download the big model for Chestnut nightly builds
* Reuse published LFS models when pushing releases
* Preserve LFS configuration when copying Chestnut releases
* Detect release builds independently of LFS attributes
* Use tinygrad generic ONNX compiler artifacts
* Keep compiler temporary model buffers off device tmpfs
* Keep recurrent model state updates on the GPU
* Use compiled output buffers and swap recurrent state inputs
* Note when ONNX chunk reassembly can be removed
* Bump tinygrad to rebased compilers and AMD queue fix
* Keep recurrent buffers fixed and use faster USB argument updates
* Bump tinygrad for faster model startup
* modeld: use tinygrad ONNX and warp compilers for driving and DM
* Bump tinygrad with current openpilot model compile tests
* modeld: prioritize tinygrad compiler imports in build environment
* Use compiler branch based on openpilot's pinned tinygrad
* modeld: invoke tinygrad compilers without firmware patch
* modeld: move history queues into ONNX
* Move ONNX history export into xx exporter
* Rename ONNX image input to new_img
* Combine ONNX model history state
* Revert model history README addition
* Keep float32 input packing from master
* Rename model input specs to input shapes