How on-device VLA memory and bandwidth are estimated
Unlike text-only LLMs, a VLA model on a robot processes vision tokens from several cameras on every inference and outputs continuous joint commands (action chunks). Memory therefore grows not only with the weights but with camera count, resolution and history length, and inference speed is usually limited by memory bandwidth.
1. Formulas
The calculator assumes batch-size-1, real-time robot control and uses the following equations.
Total_Memory (GB) = Weights + KV_Activation_Buffer + System_Reserve (3.0 GB)
Weights (GB) = Params (B) × Bytes_per_Param
Vision_Tokens = Cameras × Tokens_per_Camera × History_Frames
Bytes_per_Pass (GB) ≈ Weights + 0.5 × KV_Activation_Buffer
Inference_Hz = Control_Hz ÷ Actions_Executed_per_Chunk
Required_Bandwidth (GB/s) = Bytes_per_Pass × Inference_Hz ÷ Efficiency
Max_Inference_Hz (per device) = Bandwidth × Efficiency ÷ Bytes_per_Pass
Bytes_per_Param is 2.0 for FP16, 1.0 for FP8, about 1.05 for W8A16, about 0.62 for W4A16 with an FP16 action head, and about 0.56 for NVFP4 (one FP8 scale per 16 values). The KV/activation buffer is an empirical estimate that scales with vision-token count and model size.
2. Why memory bandwidth sets the inference rate
Batch-1 inference is often limited by memory bandwidth before compute, because every inference has to read the full set of weights from DRAM again. A device's maximum inference rate can therefore be approximated as bandwidth × utilization ÷ memory read per inference, and quantizing the weights improves both memory capacity and that speed ceiling.
3. Action chunking and dual-loop control
Models that use action chunking produce several steps of actions per inference, and the controller executes them at a higher rate. At a 30 Hz control rate with 10 steps executed per chunk, for example, the model only has to run at 3 Hz. Humanoids that need whole-body control at hundreds of hertz typically use a dual loop: the VLA produces goals at a slow rate while a small policy issues joint commands at a fast rate. Leave a system reserve for ROS 2 queues and camera buffers (this calculator assumes 3 GB) so the robot does not stop on an out-of-memory error.
4. Edge AI computer specs and suggested configurations
Most robot onboard computers use unified memory, with the CPU and GPU sharing the same LPDDR memory. Memory, bandwidth and power below come from NVIDIA's official product pages; the suggested configurations are reference points based on this calculator's default settings.
| Hardware | Unified memory | Memory bandwidth | Power range | Suggested configuration (reference) |
|---|---|---|---|---|
| NVIDIA Jetson Orin Nano Super (8GB) | 8 GB | 102 GB/s | 7–25 W | Sub-1B policies such as Octo or SmolVLA, or a single ACT or Diffusion Policy |
| NVIDIA Jetson Orin NX 16GB | 16 GB | 102.4 GB/s | 10–40 W | 3B class (GR00T N1.7, π0) in W4A16 with 2–3 cameras and action chunking |
| NVIDIA Jetson AGX Orin 32GB | 32 GB | 204.8 GB/s | 15–40 W | 3B class in FP16 or 7B class in W4A16 with about 3 cameras |
| NVIDIA Jetson AGX Orin 64GB | 64 GB | 204.8 GB/s | 15–60 W | 7B class (OpenVLA) in FP16 or FP8, or 14B class in W4A16 |
| NVIDIA Jetson T4000 (Thor, 64GB) | 64 GB | 273 GB/s | 40–70 W | 7B class in FP16 or 14B class in FP8; same bandwidth as T5000 |
| NVIDIA Jetson T5000 (Thor, 128GB) | 128 GB | 273 GB/s | 40–130 W | Large 14B–32B VLAs, or a VLA running alongside a world model |
5. Sizing notes by model
- Octo-Base (93M) and SmolVLA base (0.5B): weights are around 1 GB or less even in FP16, so they fit on an 8 GB board with the default camera settings and leave plenty of bandwidth headroom for high control rates.
- Isaac GR00T N1.7 (3B) and π0 (3.3B): FP16 weights are about 6–7 GB. The official GR00T repository points to a 16 GB-class GPU for inference, so on 16 GB boards consider W4A16 quantization together with action chunking.
- OpenVLA-7B: the official repository lists about 15 GB for bf16 inference, which does not fit on a 16 GB board once KV cache and reserve are added. Use W4A16 or an AGX Orin 64GB or larger. Because it emits actions as tokens, keep actions per chunk close to 1.
- 14B–32B class: FP16 weights alone are 28–64 GB. Running a 32B-class model in FP16 needs 128 GB (Jetson T5000); with W4A16 it becomes possible to consider 64 GB boards.
- Custom: for models not in the list, enter the parameter count. Include the vision encoder and action head in the total so memory is not underestimated.
6. Frequently asked questions
Q1. Does 4-bit (W4A16) quantization hurt robot accuracy?
The OpenVLA paper reports that serving a quantized model did not substantially lower task success in its evaluation, but that result applies to its conditions. Start with mixed precision that keeps the continuous action head in FP16, and compare FP16 and quantized success rates on your own task under identical conditions.
Q2. Why does KV cache grow faster for robot VLAs than for text LLMs?
Robots usually run two to four cameras at once, and each camera produces hundreds of vision tokens per frame. Multiplied by the number of history frames, a single inference can hold thousands of tokens in memory.
Q3. Can I rely on NVMe swap when memory runs short?
Not for real-time control loops. Once weights or KV cache are paged to SSD, latency spikes of tens to hundreds of milliseconds break the control rate and can cause jerky motion or loss of balance.
Q4. How does action chunking reduce the bandwidth requirement?
When a model produces several steps of actions at once, the heavy inference only needs to run at a fraction of the control rate. The calculator models this as inference rate = control rate ÷ actions executed per chunk, and the required bandwidth falls by the same ratio.
Q5. Where does the 60% default utilization come from?
Official bandwidth is a theoretical peak that inference rarely reaches in full, so 60% is used as a conservative starting assumption. It is not a measured value; replace it with a measurement from your target device when you have one.
Q6. Why are RTX laptop and desktop GPUs not in the list?
The list only includes devices whose memory capacity and bandwidth could both be confirmed on an official page. For GPUs whose bandwidth is not published there, use 'Add your own hardware' with the vendor's specification or your own measurement.
Related articles on Physical AI Portal
- Sizing Memory and Bandwidth for On-Device VLA Models: The Math to Do Before Putting a 7B Model on a Jetson
- Choosing an Open Robot Policy Model: OpenVLA vs Octo vs π0 vs GR00T N1.7 on License, Size and GPU Needs
- Choosing an Edge AI Module for a Robot: Jetson Orin, Jetson Thor and IGX Thor Against Seven Criteria
- How VLA Models Turn Images and Instructions into Joint Commands: RT-2, OpenVLA, π0 and GR00T N1 Compared
Primary sources
- OpenVLA: An Open-Source Vision-Language-Action Model (arXiv:2406.09246)
- π0: A Vision-Language-Action Flow Model for General Robot Control (arXiv:2410.24164)
- NVIDIA Isaac GR00T (GitHub) · SmolVLA base (Hugging Face) · Octo
- NVIDIA Jetson Orin · NVIDIA Jetson Thor
- AWQ: Activation-aware Weight Quantization (arXiv:2306.00978)
Data and formulas last verified: 2026-10-21 · Operator: Huni ([email protected])