ABC-VLA for Jetson AGX Thor

Optimized custom CUDA kernels and TensorRT engines for ABC-VLA with vla-edge, using Amazon FAR's vla_abc130k_v2/200000 checkpoint. The bundle retains the checkpoint values, three-camera RGB input, 224-pixel image preprocessing, 30×14 action shape and original 10-step sampler.

Read the benchmarks and optimization writeups

Requirements

  • NVIDIA Jetson AGX Thor, Linux aarch64, 20 SMs (sm_110a)
  • CUDA 13.2, cuDNN 9, TensorRT 10.16.2.10
  • Jetson CUDA-enabled PyTorch (tested runtime ABI: 2.10.0)
  • vla-edge with the abcvla dependencies and bundle schema 2 support

Plans are tied to this device and software stack. The runtime verifies hardware requirements and SHA-256 checksums before loading engines. NVIDIA system libraries are not included.

Contents

Component Path
Serving configuration abcvla-serving.json
Vision, 10-step flow and prefill plans engines/
Runtime plugins plugins/
Native checkpoint and normalization checkpoint/
Host embedding and state projection weights host/
Upstream inference code, tokenizer and notices runtime/upstream/
File sizes and SHA-256 checksums MANIFEST.json

The download is approximately 25 GB. Full native reference weights are included so the same observations can be compared without another download. TensorRT uses FP16 vision and flow, and BF16 prefill. No FP8, INT8, FP4 or INT4 inference is used. Static prefill covers lengths 213 and 215; other valid lengths from 207 to 256 use the dynamic plan.

Download and start

Install the matching Jetson dependencies as described in the vla-edge setup guide. Then:

hf download agents2agents/ABC-VLA-Jetson-Thor --local-dir ./abcvla-thor
python -m vla_edge.scripts.verify_release --bundle ./abcvla-thor
python -m vla_edge.scripts.verify_abcvla_device --bundle ./abcvla-thor
vla-edge-serve --policy abcvla-bimanual-yam --backend tensorrt \
  --engine-dir ./abcvla-thor --port 8202

The server exposes HTTP /act and the upstream ABC NumPy-msgpack WebSocket protocol at ws://127.0.0.1:8202/. No robot or camera server is started.

Test without robot motion

python -m vla_edge.scripts.smoke_abcvla --bundle ./abcvla-thor
python -m vla_edge.scripts.smoke_abcvla --bundle ./abcvla-thor \
  --observation sample.npz --prefix-length 5 --compare-torch

The optional NPZ contains HWC RGB uint8 top_cam, left_cam, right_cam, a 14-dimensional state, and optionally absolute action_prefix rows. Without it, the test uses synthetic observations. It does not open cameras or command motors. --backend torch uses the native checkpoint; --backend cuda-graph uses native operators with graph capture.

Actions are absolute joint/gripper targets. Grippers at indices 6 and 13 use closed=0, open=1 and measured positions as observations. Hard-prefix RTC accepts lengths 0–7. The controller determines how many action rows to execute; changing that setting does not change the model's 30-row horizon. Use examples/bimanual-yam/run_task.sh "fold and stack the t-shirts" with your calibrated rig configuration; it selects ABC-VLA from server metadata.

Validation

The obscured release matches the original optimized pipeline bit-for-bit in 48 cases covering hard-prefix lengths 0–7. CUDA plugin initialization and HTTP/WebSocket inference have been tested. See VALIDATION.json.

Source and licenses

Upstream inference source is from amazon-far/abc at cd4ca33dc89c30fe2c836c4da7208cee3c9281cf. The original checkpoint is available from Amazon FAR.

Gemma terms apply to the model weights and their derived engine plans. Read GEMMA_TERMS.txt, GEMMA_PROHIBITED_USE_POLICY.txt, LICENSE and NOTICE. The reference code and Agents2Agents runtime components use Apache-2.0 with retained third-party notices. This independent deployment does not imply endorsement by Amazon, Google or NVIDIA.

Downloads last month
-
Video Preview
loading