Skip to content

[GROOT N1.7][RTX 5090] Unable to reproduce the reported 16.61 ms E2E latency #188

Description

@YellowRiver2001

Body

Description

The documentation reports 16.61 ms warm P50 E2E latency for GROOT N1.7 FP8 on an RTX 5090 using a 2-view base checkpoint:

https://github.com/flashrt-project/FlashRT/blob/main/USAGE.md#groot-n17-rtx

The result appears to come from commit:

1dd5717

I have not been able to reproduce this number. More importantly, the repository does not appear to include the exact benchmark fixture, timing script, or complete environment used for the 16.61 ms
result.

Environment

  • GPU: NVIDIA GeForce RTX 5090
  • Compute capability: SM120
  • Driver: 595.84
  • CUDA toolkit: 12.8.61
  • PyTorch: 2.11.0+cu128
  • cuBLASLt: 12.9.2.10
  • Build target: sm_120a
  • Precision: FP8
  • Batch size: 1
  • Denoising steps: 4
  • Action horizon: T=40

The GPU was operating at approximately 2.9 GHz with no observed power or thermal throttling.

Results

Using a real 2-view LIBERO input generated through the GROOT N1.7 preprocessing path:

  • pixel_features: (512, 1024)
  • grid_thw: (2, 3)
  • llm_input_embeds: (1, 156, 2048)

Measured warm P50 latency:

Measurement P50
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ━━━━━━━━━━
Backbone CUDA graph 9.77 ms
────────────────────────────── ──────────
Action CUDA graph 11.15 ms
────────────────────────────── ──────────
Two graph replays 20.92 ms
────────────────────────────── ──────────
Full infer(..., aux=aux) API 21.24 ms
────────────────────────────── ──────────
Documented result 16.61 ms

This leaves a gap of approximately 4.6 ms / 28% versus the documented result.

I also tested with cuBLASLt 12.8.3 instead of 12.9.2, but the result was effectively unchanged.

Missing reproduction details

Could you please provide the following?

  1. Exact checkpoint repository and revision/hash.

  2. The exact 2-view aux fixture, or a script for generating it.

  3. Shapes of all tensors in the fixture, especially:

    • pixel_features
    • grid_thw
    • llm_input_embeds
    • visual_pos_masks
    • rope_cos / rope_sin
  4. Exact prompt, normalized state, and initial noise used.

  5. Complete benchmark script or command.

  6. Number of warmup and timed iterations.

  7. Whether latency was measured using CUDA events or wall-clock timing.

  8. Whether the timed call was exactly:

    model.infer(
        state_normalized,
        initial_noise=initial_noise,
        aux=aux,
        use_dit_graph=True,
    )
  9. CUDA, PyTorch, cuBLAS/cuBLASLt, driver, and compiler versions.

  10. GPU power limit and clock configuration.

  11. Expected backbone and action-graph latency breakdown.

Ideally, a self-contained script such as:

benchmarks/groot_n17_rtx_latency.py

together with a downloadable fixture or fixture-generation script would make the 16.61 ms result independently reproducible.

Thanks!

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