[release/2.12] Pin torchaudio to ROCm/audio release/2.11.0.1#3382
[release/2.12] Pin torchaudio to ROCm/audio release/2.11.0.1#3382ethanwee1 wants to merge 8 commits into
Conversation
|
TheRock test build (Windows, gfx110X-all) for this torchaudio pin: Inputs:
Verifies torchaudio resolves from |
|
Jenkins build for 397caab617f3b3beb91836468259cc663e1210b9 commit finished as NOT_BUILT |
When building HIP extensions (e.g. torchaudio) on Windows where the source checkout lives on a subst/virtual drive (B:) that aliases a directory on the real drive (C:), os.path.relpath() raised "path is on mount 'C:', start on mount 'B:'" because os.getcwd() reported the alias while the hipified source resolved to the underlying drive. Normalize both the build dir and the hipified source through os.path.realpath() before computing the relative path.
|
This PR now contains two commits:
New TheRock test build (Windows, gfx110X-all) with both changes: Previous build (pin only, failed on the cross-drive bug now fixed): https://github.com/ROCm/TheRock/actions/runs/28466063021 |
|
Jenkins build for 212d846a9952acce94eefcb7b3bcf9a69225e841 commit finished as NOT_BUILT |
Build status updateTheRock test build (Windows, gfx110X-all): https://github.com/ROCm/TheRock/actions/runs/28474577213 — FAILED (in the torchaudio compile), but it got materially further than the prior run. Changes in this PR (3 commits) and what each achieved:
Why the build still fails (out of scope for this PR): This is not a one-line header fix — behind it, Disposition: the GPU port is being handed to the torchaudio/audio team. This PR stands on its own as (1) the correct torchaudio version pin and (2) a general Windows cross-drive HIPIFY fix, both build-validated up to the torchaudio ROCm GPU-port gap. |
Temporarily points torchaudio at the ROCm/audio#16 HIP-port commit (ethanwee1/audio fork) so TheRock can build/validate it. Repoint to the merged ROCm/audio release/2.11.0.1 commit once ROCm/audio#16 lands.
|
Jenkins build for 212d846a9952acce94eefcb7b3bcf9a69225e841 commit finished as FAILURE |
|
Jenkins build for 74bce3687d4eacf122f181b438885d907a49c1cb commit finished as NOT_BUILT |
https://amd-hub.atlassian.net/browse/ROCM-24803?focusedCommentId=500051 Interim unblock: pins torchaudio to the stable release/2.11 (2.11.0), which already builds and publishes on Windows, replacing the floating pytorch/audio main (2.11.0a0) pin. The torchaudio 2.11.0.1 ROCm GPU port is tracked separately in #3382 and ROCm/audio#16.
|
Reworked to the HIPIFY-based torchaudio port (ROCm/audio#17, mirrors torchvision) instead of the manual compat shim. New build: https://github.com/ROCm/TheRock/actions/runs/28538325024 |
|
Jenkins build for 74bce3687d4eacf122f181b438885d907a49c1cb commit finished as FAILURE |
…io#16) Revert the temporary HIPIFY-based pin (ROCm/audio#17) back to the compat-shim port commit that passed TheRock Windows validation (28529085509). The HIPIFY setup.py approach still leaves CUDA headers unconverted; the cuda_compat.h port in ROCm/audio#16 is the validated path. The Windows cross-drive HIPIFY fix remains in torch/utils/cpp_extension.py (this PR); it is unrelated to the audio-side port strategy.
|
Repointed Where the HIPIFY fixes live:
Prior passing TheRock run with this pin combo: https://github.com/ROCm/TheRock/actions/runs/28529085509 |
…yle) Mirror torchvision's setup.py approach: run hipify_python.hipify() over libtorchaudio CUDA sources and headers, then compile the generated .hip outputs. Fixes vs the first HIPIFY attempt (TheRock 28538325024): 1. Do not widen `#ifdef USE_CUDA` to `USE_ROCM` in headers — that pulled `cuda_fp16.h` into CPU `.cpp` compiles because PyTorch defines USE_ROCM globally on ROCm extension builds. Keep upstream USE_CUDA guards; pass `-DUSE_CUDA` on hipcc/nvcc only for GPU translation units. 2. Hipify with `os.path.realpath()` paths and depth-aware include globs so headers like `cuda_utils.h` are rewritten on the same inode Windows runners use when B: is a subst alias of the C: checkout (otherwise the compiler reads un-hipified headers from the underlying path). 3. Include `cuctc/` in the hipify scope. Reference: https://github.com/ROCm/vision/blob/release/0.27/setup.py Paired with ROCm/pytorch#3382 (torchaudio pin + Windows cross-drive HIPIFY fix in torch/utils/cpp_extension.py — that fix is in PyTorch, not here).
Update ethanwee1/audio ew/rocm-24803-hipify-gpu-ext to 0c7509ef with: - realpath-based hipify (Windows B:/C: alias) - reverted USE_ROCM header guard widening - -DUSE_CUDA on hipcc for GPU units only
|
Pin updated to audio HIPIFY v2 |
|
Jenkins build for 20ed9fc17d7e46e02019b8f652ca8037fcac073e commit finished as FAILURE |
https://amd-hub.atlassian.net/browse/ROCM-24803?focusedCommentId=500051
Paired with torchaudio HIP-port PR: ROCm/audio#17 (HIPIFY in
extension.py).Changes (this PR)
related_commitstoethanwee1/audioew/rocm-24803-hipify-gpu-ext@0c7509ef(Build libtorchaudio GPU extensions on ROCm via HIPIFY (torchvision-style) audio#17). Repoint to mergedROCm/audiorelease/2.11.0.1once After discussion in review, disable flake8 on pyHIPIFY for now. #17 lands.torch/utils/cpp_extension.py(CUDAExtension):realpath-normalize build dir and hipified sources beforeos.path.relpath(). This fix is in PyTorch only — it complements the torchaudio-side hipify in After discussion in review, disable flake8 on pyHIPIFY for now. #17.Companion PR
.hipoutputs. No manualcuda_compat.hshim.Test builds (Windows, gfx110X-all)
0c7509ef) + this PR