Skip to content

Jetson AGX Orin validation and support tracking (JetPack 6, sm_87) #10

Description

@xiao-yang25

Motivation

Embodied.cpp targets edge deployment and lists Jetson-class devices as a
supported deployment platform. I have access to a Jetson AGX Orin 64GB device
and would like to validate the current runtime on a real JetPack 6 environment.

The goal is to produce a reproducible Orin build and inference report, fix
platform-specific compatibility issues, and document the verified setup for
other Jetson users.

Test environment

  • NVIDIA Jetson AGX Orin Developer Kit 64GB
  • Architecture: aarch64 / CUDA compute capability 8.7
  • JetPack 6 / L4T r36.4.4
  • Ubuntu 22.04
  • CUDA 12.6
  • cuDNN 9.3
  • CMake 3.22.1
  • GCC 11.4
  • MAXN power mode

Proposed validation scope

1. Build validation

  • Configure a CUDA build with CMAKE_CUDA_ARCHITECTURES=87
  • Build the VLA server on aarch64
  • Build the WAM CUDA kernels where model artifacts are available
  • Record build time, peak memory usage and generated artifact size
  • Document all required JetPack/Ubuntu dependencies

2. Runtime validation

  • Start the server and load a GGUF model successfully
  • Run a deterministic smoke-test request
  • Verify output shape, finite values and repeatability
  • Check CPU/GPU memory usage during model loading and inference
  • Check for CUDA errors, unsupported kernels or architecture-specific fallbacks

3. Performance characterization

  • Measure model-loading time
  • Measure warm-up and steady-state inference latency
  • Report peak unified-memory usage
  • Report power mode, clocks and active background workload
  • Clearly separate functional validation from controlled performance results

Performance measurements will only be reported from a sufficiently idle system;
initial testing may be limited to build and functional validation.

Initial findings from repository inspection

Before the full validation, I found several Jetson-related areas that may need
attention:

  1. The README's explicit CUDA architecture examples omit 87, although the WAM
    CMake defaults already include it.
  2. The README defaults to CUDA_ARCH=native; the documented fallback for CMake
    versions older than 3.24 is relevant because JetPack 6/Ubuntu 22.04 provides
    CMake 3.22.1 by default.
  3. The optional LingBot-VA and Cosmos3 cuDNN discovery is restricted to CUDA
    toolkit and x86_64-specific paths with NO_DEFAULT_PATH. JetPack normally
    installs cuDNN under aarch64 multiarch paths.
  4. The Cosmos3 source currently includes cudnn.h using an absolute
    /usr/local/cuda-11.6/include/cudnn.h path.

These are preliminary findings. I plan to confirm each one with actual build
logs before proposing code changes.

Proposed deliverables

I would like to submit a PR containing:

  • Necessary aarch64/JetPack build fixes confirmed by testing
  • A documented AGX Orin build command using sm_87
  • A minimal inference smoke-test procedure
  • An Orin validation report with software versions and resource measurements
  • No changes to public APIs or model behavior

Questions

  1. Which model would maintainers prefer as the first Jetson validation target?
    pi0.5 appears suitable for initial VLA build and inference validation.
  2. Should platform-specific fixes be submitted as one Orin support PR or as
    smaller independent PRs?

I am happy to carry out the testing and submit the corresponding fixes and
documentation.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions