FlashRT-PAI: Fast Kernels Are Not Fast Pipelines for Physical AI Inference
Organizations: AnyDevice AI & Alps Lab
Abstract
Vision-language-action (VLA), video-action (VA), and world action models (WAMs) form the backbone of modern physical AI systems, yet their real-time single-batch inference remains a defining bottleneck. Latency is dominated not by individual kernel computation, but by system-level overhead: thousands of short kernel launches, intermediate data movement across operator boundaries, and redundant recomputation across consecutive decisions. General-purpose graph compilers cannot address these costs, as they optimize individual calls in isolation and lack visibility into cross-call state semantics and global pipeline structure. We present FLASHRT-PAI, a low-latency inference engine built around model-hardware pipeline co-design rather than isolated kernel optimization. FLASHRT-PAI combines three core mechanisms: deep kernel fusion with launch overlap eliminates inter-operator boundaries and launch gaps; an execution contract formalizes the pipeline's stage DAG, update rates, and named buffers to enable cross-decision state reuse and selective refresh; and execution-state capsules enable fast snapshot, restore, and fork of persistent pipeline state. The system also supports drop-in acceleration of unmodified PyTorch models via parity- and latency-gated kernel replacement. Evaluation covers six policies on RTX 5090 and four on Jetson AGX Thor. At matched 16-bit precision, FLASHRT-PAI is 1.3-3.7x faster than official compiled paths. Combining pipeline co-design with reduced precision delivers 3.38-12.66x speedup over official eager implementations. In LIBERO-10, four-bit pi0.5 achieves 94.04% success on Thor and 93.32% on RTX 5090, compared with 92.4% for the measured official FP16 reference. FLASHRT-PAI is open source, distributed via Hugging Face Kernel Hub, and its opt-in pi0.5 kernels have been adopted into the LeRobot framework.
Figures & tables
| ms | % | |
|---|---|---|
| Kernel execution | 172.50 | 77.48 |
| of which, kernels between GEMMs | 70.10 | 31.49 |
| Gaps between kernels (estimated) | 50.14 | 22.52 |
| Total | 222.64 | 100 |
| Class | Model | Params | Steps | Actions | Views |
|---|---|---|---|---|---|
| VLA | 3.35B | 10 | 10 | 2 | |
| GR00T N1.7 | 3B | 4 | 16 | 1/2 | |
| VA | LingBot-VA | 5.3B | 20/50 | 16 | 2 |
| WAM | FLUX 3 Action | 7B | 4+CFG | 32 | 3 |
| Cosmos3-Edge-Policy | 4B | 4 | 32 | 3 | |
| Motus | 8B | 10 | 16 | 3 |
| Jetson AGX Thor | RTX 5090 | ||||||||||
| Class | Model | Eager | Compile | TRT | FlashRT-PAI | Speedup | Eager | Compile | TRT | FlashRT-PAI | Speedup |
| VLA | 222.64 | 129.17 | 20.33 | 10.95 | 104.21 | 58.26 | – | 8.23 | 12.66 | ||
| GR00T N1.7 | 24.39 | 41.10 | 32.01 | – | 7.67 | 5.36 | |||||
| VA | LingBot-VA | 9309.53 | 6721.44 | – | 920.9 | 10.11 | 2608.53 | 2666.62 | – | 455.70 | 5.72 |
| WAM | FLUX 3 Action | – | – | – | – | – | 1353.57 | 1148.95 | – | 275.51 | 4.91 |
| Cosmos3-Edge-Policy | 1223.00 | 1263.49 | – | 362.15 | 3.38 | 586.28 | 514.93 | – | 121.25 | 4.84 | |
| GR00T N1.7 | LingBot-VA | FLUX 3 Action | |||||
| Configuration | Thor | 5090 | Thor | 5090 | Thor | 5090 | 5090 |
| Official compile, 16-bit | 129.17 | 58.26 | 105 | 32.01 | 6721.44 | 2666.62 | 1148.95 |
| FlashRT-PAI 16-bit | 67.47 | 25.08 | 54.77 | 18.85 | 3174.26 | 726.10 | 900.34 |
| FlashRT-PAI 8-bit | 40.71 | 13.85 | 36.98 | 12.91 | 2029.42 | 532.69 | 423.92 |
| FlashRT-PAI 4-bit | 20.33 | 8.23 | 24.39 | 7.67 | 920.9 | 455.70 | 275.51 |
| 16-bit vs. 16-bit compile | 1.91 | 2.32 | 1.9 | 1.70 | 2.12 | 3.67 | 1.28 |
| Policy | GPU | Eager | FlashRT-PAI | Reduction |
|---|---|---|---|---|
| Thor | 13,414 | 2,610 | 81% | |
| RTX 5090 | 13,134 | 2,216 | 83% | |
| GR00T N1.7 | Thor | 5,190 | 2,148 | 59% |
| RTX 5090 | 4,978 | 1,579 | 68% | |
| LingBot-VA | Thor | 180,245 | 27,089 | 85% |
| RTX 5090 | 220,504 | 35,557 | 84% |
| Use | Policy/GPU | Baseline | Frozen state | Speedup | |
|---|---|---|---|---|---|
| Reuse values | /Thor | 37.05 | 21.61 | 1.71 | |
| Resume after overwrite | /Thor | 21.48 | 9.73 | 2.21 | |
| Resume after overwrite | LingBot-VA/Thor | 1809.32 | 925.27 | 1.96 | |
| Capsule copy cost | MB | Snapshot | Restore | Fork | |
| Thor | 14.40 | 0.48 | 0.13 | 0.50 | |
| LingBot-VA | Thor | 1410.65 | 18.77 | 11.29 | 36.03 |
| Class | Model | Thor | RTX 5090 |
|---|---|---|---|
| VLA | .999713 / .999360 | .999850 / .999201 d | |
| GR00T N1.7 | .9997 ( ) | .99999 d ( ) | |
| VA | LingBot-VA, BF16 | .999949 / .999920 | .999502 / .952046 c |
| LingBot-VA, 4-bit mix | .995361 / .993777 | .998907 / .941478 c | |
| WAM | FLUX 3 Action | – | .999850 / .998939 |
| Cosmos3-Edge-Policy | .998533 / .976768 | .998138 / .988953 |
| Project | How it uses FlashRT-PAI |
|---|---|
| MindOn Mind-1 [link] | Inference backend for a robot model |
| EagleVLA-Edge [link] | Edge VLA engine that plugs into FlashRT-PAI |
| LeRobot [link] | Optional FP8 kernels for |
| FineART-VLA [link] | Optional kernels for training and inference |
| Jetson AI Lab [link] | TensorRT guide for , inspired by FlashRT-PAI |
| APXInf [link] | Edge inference engine that credits FlashRT-PAI |
Appendix figures & tables5 assets
Supplementary material from the paper’s appendix.
Appendix
| Buffer | Role / writer | Refresh event |
|---|---|---|
| Images | Swap / host | Fresh observation |
| Noise | Swap / host | New action generation |
| Prompt embedding | Static / preparation | Prompt change |
| Step conditioning | Static / preparation | Schedule change |
| Context K/V | State / context | Image or prompt change |
| Actions | Swap / action | Action replay |
| Interval | Samples | p50 | p95 |
|---|---|---|---|
| Deployed infer | 1000 | 20.33 | 20.54 |
| PDL off, decoder | 200 | 10.124 | 10.137 |
| PDL FFN + O/QKV, decoder | 200 | 9.207 | 9.220 |
| PDL all, decoder | 200 | 9.009 | 9.024 |
| Rebuild + action | 64 | 21.484 | 21.533 |
| Restore + action | 64 | 9.726 | 9.778 |
| Policy | Recorded validation |
|---|---|
| Recorded-input action comparisons; LIBERO-10 rollouts against the measured FP16 reference. | |
| GR00T N1.7 | Single-view Thor and two-view RTX 5090 LIBERO observations; single-observation cosine. |
| LingBot-VA | RTX 5090: held-out LIBERO traces for arm/full-action agreement; paired 100-episode LIBERO-10 success comparison. |
| FLUX 3 Action | Returned-action agreement against the official implementation under matched inputs and noise. |
| Cosmos3-Edge-Policy | DROID observations: 114 observation/noise requests on Thor and 60 on RTX 5090. |
| Motus | Four RoboTwin2 input bundles; action and decoded-video agreement against saved upstream outputs. |
| Configuration | Six arm channels | Full action |
|---|---|---|
| BF16 | .999502 / .952046 | .997388 / .643595 |
| FP8/INT4 mix | .998907 / .941478 | .994571 / .405055 |
| Input | Action cosine | Video cosine |
|---|---|---|
| sample_00 | .999929 | .999117 |
| sample_01 | .999935 | .998644 |
| sample_02 | .999921 | .999144 |
| sample_03 | .999913 | .998844 |
Efficient Neural Network Inference
Efficient neural network inference reduces the time, memory, and energy needed to run trained models across hardware and deployment settings.
See all 471 papers