Fix ARM64/aarch64 Docker builds for reconstruction and robotic_grounding - #142
Open
kabilankb wants to merge 2 commits into
Open
Fix ARM64/aarch64 Docker builds for reconstruction and robotic_grounding#142kabilankb wants to merge 2 commits into
kabilankb wants to merge 2 commits into
Conversation
Docker Hub's pytorch/pytorch base images ship amd64-only, and several pinned pip packages (usd-core, judo-rai, onnxruntime-gpu==1.24.4) have no linux_aarch64 wheel. Retarget v2d_moge and v2d_task_library_loader to NVIDIA's arm64-native NGC PyTorch image (with a numpy<2.0 pin to match its torch build's ABI), add a missing libx11-dev/liblapack-dev/libblas-dev system deps, and add workflow/Dockerfile.aarch64 for the robotic_grounding retarget image on top of the (already arm64-native) Isaac Lab NGC base — dropping the unused judo-rai optional dependency and wiring PYTHONPATH/LD_LIBRARY_PATH at Isaac Sim's bundled omni.usd.libs extension in place of the unavailable usd-core wheel. Verified end-to-end on an NVIDIA GB10 (Grace-Blackwell, aarch64) host: MoGe video-to-depth, and an RSL-RL PPO training smoke test against the bundled synthbox fixture.
Fork-specific pointer to PR nvidia-isaac#142, not intended for upstream.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
pytorch/pytorchbase images ship amd64-only, and several pinned pip packages (usd-core,judo-rai,onnxruntime-gpu==1.24.4) have nolinux_aarch64wheel, soreconstruction's androbotic_grounding's Docker builds fail outright on ARM64 hosts (e.g. NVIDIA GB10 Grace-Blackwell).v2d_mogeandv2d_task_library_loaderfrompytorch/pytorch:*to NVIDIA's arm64-native NGC PyTorch image, with anumpy<2.0pin to match that image's torch build ABI, and add the missinglibx11-devsystem dep (needed byglcontext, which has no arm64 wheel and must build from source).robotic_grounding/workflow/Dockerfile.aarch64(wired up by the existingbuild-aarch64path inworkflow/run.sh, which previously had no corresponding Dockerfile) on top of the already arm64-native Isaac Lab NGC base:liblapack-dev/libblas-dev(needed bypy-soma-x'scholespydependency, which has no arm64 wheel).onnxruntime-gputo1.29.0(no arm64 wheel exists for1.24.4).judo-raipip install — it has no arm64 wheel for any version with a source fallback, and is only used as an optional import (try/except ImportError) in the SOMA/G1 whole-body visualizer, not on the Sharpa floating-hand path this image targets.PYTHONPATH/LD_LIBRARY_PATHat Isaac Sim's bundledomni.usd.libsextension instead of pip-installingusd-core, which has nolinux_aarch64wheel or sdist on PyPI at all.Test plan
Verified end-to-end on an NVIDIA GB10 (Grace-Blackwell, aarch64) host:
v2d_mogeimage builds and the documented MoGe quickstart (run_download_weights+run_video_to_depthon the bundledtest_video.mp4) produces correct depth maps + intrinsics for all 100 frames.v2d_task_library_loaderimage builds successfully.robotic_grounding's aarch64 retarget image builds successfully;dummy_agent.pyand a 3-iterationtrain.pyRSL-RL PPO smoke test both run correctly against the bundled, license-freesynthboxfixture, producing real reward/loss curves and checkpoints.Dockerfile.aarch64) or additive (numpy pin, extra system packages) on images that were already broken on ARM64.