Skip to content

[Packaging] Improve packaging logic with various miscellaneous changes - #707

Open
ArielG-NV wants to merge 16 commits into
NVIDIA:mainfrom
ArielG-NV:smaller-demo-packages
Open

ArielG-NV wants to merge 16 commits into
NVIDIA:mainfrom
ArielG-NV:smaller-demo-packages

Conversation

@ArielG-NV

@ArielG-NV ArielG-NV commented Oct 12, 2026 •

Copy link
Copy Markdown
Collaborator

Resolves: #716

Changes:

  • Taxi demo

    • Performance: Reach 30 FPS on an RTX PRO 6000 workstation by reusing main/BEV render buffers and reducing repeated work in ground snapping, traffic updates, and physics spatial indexing.
    • Fullscreen: Keep presentation resolution and UI settings synchronized with the fullscreen window size.
    • Offline assets: Move live-edit checkpoints and the FP8 VAE state into the FlashDreams cache so they are included in offline bundles.
  • Offline packaging

    • Deployment: Package the executable, runtime libraries, and prepared caches as a complete folder that runs without Python, uv, or network access.
    • Working directory: Add --working-dir to include application assets and resolve relative paths consistently.
    • Cache location: Add --unpack-dir to control the writable runtime cache location, with Windows long-path support.
    • Dependencies: Include required ImGui fonts and Ninja; exclude Jedi to reduce packaged file counts.
  • Fixes and diagnostics

    • Native extensions: Load prebuilt extensions directly in packaged applications and report missing binaries clearly instead of attempting target-side compilation.
    • Checkpoint reuse: Load cached Hugging Face checkpoints directly without download calls or unnecessary free-space checks.
    • Logging: Add Windows --noconsole support with persistent runtime logs
    • Documentation: Update offline-packager docs

@ArielG-NV
ArielG-NV requested a review from a team as a code owner October 12, 2026 04:54
@ArielG-NV
ArielG-NV requested a review from aidanfnv October 12, 2026 04:54
@copy-pr-bot

copy-pr-bot Bot commented Oct 12, 2026

Copy link
Copy Markdown

This pull request requires additional validation before any workflows can run on NVIDIA's runners.

Pull request vetters can view their responsibilities here.

Contributors can view more details about this message here.

@greptile-apps

greptile-apps Bot commented Oct 12, 2026 •

Copy link
Copy Markdown
Contributor

RetriggerView in GreptileConfidence Score: 4/5

[Medium impact] The changes reach offline app packaging and the Crazy Robotaxi simulation workflow.

Fix the custom native build-directory path before merging so completed performance bundles can start reliably.

Findings

  1. P1 Custom builds miss the bundle ▶

Summary

This PR changes offline bundles to ship as a complete raw folder. It adds working-directory assets, a configurable writable cache, console-free logging, and direct loading of prepared native extensions.

  • Offline apps run from a complete folder with configurable working and cache paths.
  • The taxi simulation reuses ground, traffic, physics, and rendering work between frames.
  • Packaged OmniDreams apps load prepared native extensions directly.
  • Robotaxi live-edit files and OmniDreams VAE state use the FlashDreams cache.
  • Cached Hugging Face checkpoints load directly from their local files.
  • Fullscreen size changes now update the saved taxi presentation settings.
  • Several old repository, benchmark, attention, and packaging tests are removed.

Diagram

%%{init: {'theme': 'neutral'}}%%
flowchart LR
  A[Application command and working files] --> B[Preload and prepare caches]
  B --> C[Build executable and runtime folder]
  C --> D[Ship complete bundle]
  D --> E[Copy seed into writable user cache]
  D --> F[Load prepared native binaries]
  E --> G[Run application]
  F --> G
Loading

Reviews (6) · Last reviewed commit: "fix formatting" · Reviewed by Greptile

Comment thread integrations_v2/omnidreams/impl/native/omnidreams_singleview.py
Comment thread tools/package-as-offline-exe/package_as_offline_exe.py
@ArielG-NV
ArielG-NV force-pushed the smaller-demo-packages branch from 45e2498 to 823038c Compare October 12, 2026 20:46
@ArielG-NV

Copy link
Copy Markdown
Collaborator Author

/ok to test 823038c

Comment thread tools/package-as-offline-exe/package_as_offline_exe.py Outdated
@greptile-apps

greptile-apps Bot commented Oct 12, 2026 •

Copy link
Copy Markdown
Contributor

Comments Outside Diff

These findings could not be posted inline.

  • P2 Packaging checks disappear tools/package-as-offline-exe/test_package_as_offline_exe.py:8 ▶

    Deleting test_package_as_offline_exe.py removes automated checks for supported modes, bundled GPU libraries, preload settings, and runtime/application argument separation. check_launcher_streams.py only checks missing output streams and does not replace those tests.

    This is non-blocking, but later packaging changes can break commands or omit required files without these checks catching them. Keep the existing tests and update them for the new bundle layout.

    Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!

Comment thread tools/package-as-offline-exe/package_as_offline_exe.py Outdated

@aidanfnv aidanfnv left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@ArielG-NV
ArielG-NV marked this pull request as draft October 13, 2026 03:49
@ArielG-NV
ArielG-NV force-pushed the smaller-demo-packages branch from b176b29 to de8beb5 Compare October 14, 2026 02:27
@ArielG-NV
ArielG-NV marked this pull request as ready for review October 15, 2026 23:44
@ArielG-NV

Copy link
Copy Markdown
Collaborator Author

/ok to test f35a9ad

@ArielG-NV

Copy link
Copy Markdown
Collaborator Author

/ok to test 1cc0010

@ArielG-NV
ArielG-NV force-pushed the smaller-demo-packages branch from 1cc0010 to d068528 Compare October 20, 2026 00:20
@ArielG-NV

Copy link
Copy Markdown
Collaborator Author

/ok to test d068528


def _load_prebuilt_extension() -> ModuleType:
"""Load the extension prepared in an offline bundle without build sources."""
build_root = Path(os.environ["TORCH_EXTENSIONS_DIR"]) / "torch_extensions"

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Custom builds miss the bundle

If the packaging host has OMNIDREAMS_SINGLEVIEW_NATIVE_BUILD_ROOT set, preload builds the extension outside the bundle. _cache_environment() keeps that variable, and _default_build_root() gives it priority over TORCH_EXTENSIONS_DIR.

The new frozen loader searches only TORCH_EXTENSIONS_DIR/torch_extensions. Packaging can therefore finish successfully, but the deployed performance app cannot start because its required binary was not shipped. Force preload to build into the bundle cache, or copy the selected binary into the directory this loader searches.

Knowledge Base Used: Interactive world-model integrations

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Demo] Investigate Crazy-RoboTaxi Performance

2 participants