Repository navigation
feat(rl): expose GPU profiles to source consumers - #129
Conversation
3be809c to
1902e68
Compare
There was a problem hiding this comment.
🔵 Needs a closer look
Correctness hinges on uv's workspace resolution semantics and a large auto-generated lockfile that cannot be fully validated in this environment (no uv/network), affecting installation for all GPU and external source consumers.
No open issues 🎉
What changed in this PR
This PR implements issue #29 by relocating the GPU wheel dependency profiles (CUDA/ROCm torch pins and PyTorch index routing) from the non-installable workspace root into the installable motrix_rl package. The goal is to let external projects that consume motrix_rl via a Git/source dependency inherit the pinned torch versions and extra-gated index routing automatically, instead of re-copying ~40 lines of configuration. The workspace root now forwards its cuda/rocm extras to motrix-rl[cuda]/motrix-rl[rocm], so repository-internal install.sh entry points are preserved.
Changes:
- Move
cuda/rocmextras, thepytorch-cu128/pytorch-rocm72explicit indexes, extra-gatedtool.uv.sourcestorch routing, and the cuda/rocm conflict intomotrix_rl/pyproject.toml; root forwards viacuda = ["motrix-rl[cuda]==0.4.0b1"]/rocm = [...]. - Add extra-gating to the
torchvision/torchaudio/triton-rocmsources (previously ungated), tightening default-index resolution. - Document GPU install profiles and external-consumer conflict/source requirements in
motrix_rl/README.md, and expand testing-layering guidance inAGENTS.md. - Regenerate
uv.lockto reflect the newextra-9-motrix-rl-cuda/-rocmextras.
| File | Description |
|---|---|
motrix_rl/pyproject.toml |
Adds cuda/rocm optional-dependencies, pytorch indexes, extra-gated sources, and member-local conflict. |
pyproject.toml |
Replaces root GPU extras/indexes/sources with thin forwarding extras to motrix-rl; keeps the mutually-exclusive conflict. |
motrix_rl/README.md |
Documents GPU profiles, source-vs-wheel install behavior, and external Git-consumer conflict declaration. |
AGENTS.md |
Expands testing guidelines on long-term tests vs one-time acceptance and test layering. |
uv.lock |
Auto-regenerated lock reflecting the new per-package extras and markers. |
I verified: version pins are consistent at 0.4.0b1; tests/test_workspace_versions.py self-dependency/pin logic still passes with the forwarding extras; no stale pytorch-cu128/pytorch-rocm72 references remain elsewhere; install.sh --gpu cuda/rocm and CI uv sync --frozen --extra cuda paths continue to route through the root forwarding extras. I found no objective line-level defects in the hand-edited files.
Review effort: Balanced
Summary
Fixes #29
Validation
Compatibility and limitations
Target branch
Targets upstream main; rebased onto the merged Python 3.11 support PR so this PR includes only issue #29 changes.