Skip to content

Add Apex to the Pytorch Manifest file#3431

Merged
erman-gurses merged 1 commit into
mainfrom
users/erman-gurses/add-apex-to-pytorch-manifest
Feb 20, 2026
Merged

Add Apex to the Pytorch Manifest file#3431
erman-gurses merged 1 commit into
mainfrom
users/erman-gurses/add-apex-to-pytorch-manifest

Conversation

@erman-gurses
Copy link
Copy Markdown
Contributor

@erman-gurses erman-gurses commented Feb 16, 2026

Motivation

Add Apex to the Pytorch Manifest file
Follow up PR for #2547

See the comment here: #2547 (comment)

Test Plan

Test on CI

Test Result

The test runs: https://github.com/ROCm/TheRock/actions/runs/22070943413

Example Manifest from the test:

{
  "pytorch": {
    "commit": "f466ea7ac710374ce7066d9ead92e57dc42dc76f",
    "repo": "https://github.com/ROCm/pytorch.git",
    "branch": "release/2.7"
  },
  "pytorch_audio": {
    "commit": "95c61b4168fc5133be8dd8c1337d929d066ae6cf",
    "repo": "https://github.com/pytorch/audio"
  },
  "pytorch_vision": {
    "commit": "59a3e1f9f78cfe44cb989877cc6f4ea77c8a75ca",
    "repo": "https://github.com/pytorch/vision"
  },
  "triton": {
    "commit": "95abd4daa02d789ed257178ba35b4ef2d746ca29",
    "repo": "https://github.com/ROCm/triton.git"
  },
  "apex": {
    "commit": "7a57becffa31a4394369152e978fa6f8a0f005c2",
    "repo": "https://github.com/ROCm/apex"
  },
  "therock": {
    "commit": "02024427089134e951fe4063100b93c28e7e01a8",
    "repo": "https://github.com/ROCm/TheRock.git",
    "branch": "users/erman-gurses/add-apex-to-pytorch-manifest"
  }
}

Link: https://therock-dev-artifacts.s3.us-east-2.amazonaws.com/22070943413-linux/manifests/gfx94X-dcgpu/therock-manifest_torch_py3.10_release-2.7.json

Submission Checklist

@marbre
Copy link
Copy Markdown
Member

marbre commented Feb 16, 2026

@erman-gurses can you either file the sections in the PR description or remove the empty ones?

@erman-gurses
Copy link
Copy Markdown
Contributor Author

erman-gurses commented Feb 16, 2026

@erman-gurses can you either file the sections in the PR description or remove the empty ones?

@marbre, I will fill out fully after I finish my tests then convert it from draft to a full PR.

@HereThereBeDragons
Copy link
Copy Markdown
Contributor

just looking at the pytorch build failures we are having in nightlies: could we create the manifest anyway independent if the build succeeds or not? so we have an idea what exactly got checked out? even if it is not all components of torch?

@erman-gurses
Copy link
Copy Markdown
Contributor Author

just looking at the pytorch build failures we are having in nightlies: could we create the manifest anyway independent if the build succeeds or not? so we have an idea what exactly got checked out? even if it is not all components of torch?

https://github.com/ROCm/TheRock/actions/runs/22070943413/job/63775043033
That is a good point. I generate the manifest file Generate PyTorch Manifest after after Build PyTorch Wheels so for now, we need to finish PyTorch Build successfully. However, this will change in the near future. It should generate the manifest file right after the checkouts. We have ongoing discussion for that.

@erman-gurses erman-gurses marked this pull request as ready for review February 16, 2026 17:56
@ScottTodd ScottTodd requested review from amd-sriram and removed request for ScottTodd February 16, 2026 19:14
Copy link
Copy Markdown
Contributor

@HereThereBeDragons HereThereBeDragons left a comment

Choose a reason for hiding this comment

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

lgtm

here some thoughts about resilience of this code:
is this a manifest to know what is in the build or mainly for us for debugging?

for debugging i would suggest the following:

  • run this after the build
  • run this always
  • check which repos were checked out and add in the manifest if the build was successful (== wheel exists).

if we just want to have the manifest for the wheels that have successfully built: add repo/commit for failing/excluded wheels in the github output

context:
the apex problem on linux got resolved, so right now there is no problem other that apex is not build on windows. with the issue before, apex would have only been built for torch >= 2.10. this decision would have been done in build_prod_wheels.py and as such the apex repo checkout would always happen - but not the build. (see PR #3458 note the changes also needed in write_torch_versions.py)

@erman-gurses
Copy link
Copy Markdown
Contributor Author

lgtm

here some thoughts about resilience of this code: is this a manifest to know what is in the build or mainly for us for debugging?

for debugging i would suggest the following:

  • run this after the build
  • run this always
  • check which repos were checked out and add in the manifest if the build was successful (== wheel exists).

if we just want to have the manifest for the wheels that have successfully built: add repo/commit for failing/excluded wheels in the github output

context: the apex problem on linux got resolved, so right now there is no problem other that apex is not build on windows. with the issue before, apex would have only been built for torch >= 2.10. this decision would have been done in build_prod_wheels.py and as such the apex repo checkout would always happen - but not the build. (see PR #3458 note the changes also needed in write_torch_versions.py)

Thanks, this is helpful context.

At the moment the manifest is meant to capture source provenance (repos/commits used for the build), not strictly the set of produced wheels. That’s why it runs after the build but still reflects checked-out sources even if some components are conditionally skipped.

In this PR I only wired Apex into the Linux PyTorch workflow, since that’s where it’s currently built; Windows still skips Apex today.

I agree that if we want the manifest to reflect only shipped artifacts, we’d need to tie entries to actual wheel outputs. That could also let us report skipped components explicitly via workflow outputs, which would help debugging.

For now I’d prefer to keep this PR focused on consistent provenance capture, but this sounds like a reasonable follow-up improvement.

@erman-gurses
Copy link
Copy Markdown
Contributor Author

@amd-sriram - let me know if you have any comment for the PR that I can address. Thank you!

@erman-gurses erman-gurses merged commit b8b0a2f into main Feb 20, 2026
201 of 249 checks passed
@erman-gurses erman-gurses deleted the users/erman-gurses/add-apex-to-pytorch-manifest branch February 20, 2026 15:28
@github-project-automation github-project-automation Bot moved this from TODO to Done in TheRock Triage Feb 20, 2026
jayhawk-commits pushed a commit that referenced this pull request Mar 11, 2026
## Motivation

Bump rocm-systems from 93bc019 to 093b66caa3 (includes fix for hip-tests
issue and revert for mathlib hiprtc issues and revert for rccl-test,
added revert for miopen failures due to PR 653):

Commits:
093b66caa3 (HEAD, origin/develop, origin/HEAD) Revert "SWDEV-546177 -
hipModuleGetLoadingMode API impl (#653)" (#3858)
d8a0adbc9f [AMD-SMI] Hide libamd_smi.so internal symbols (#3777)
d4da458f94 [rocprofiler-sdk] [Documentation ] Updating changelog (#3827)
19fadeb082 (origin/users/abchoudh/fix_dispatch_count) [RCCL][Tuner
Plugin] Enable tuning of RCCL tuning constants (#3757)
b4f5f8a6a8 rocr: Fix IPC dmabuf hang with large allocations (#3211)
64efea0435 RCCL: allow users to override max and per job memory & fix
defaults. (#3797)
9b3dd101bb Removing ready_for_review (#3849)
7e43880a64 [rocprofiler-systems] Update ROCm version to 7.2.0 in CI
workflows for Debian, RedHat, and Ubuntu (#3431)
1fdb6b9827 [rocshmem] add gda/topology unit tests (#3715)
be1ea24a96 Move hipMipmappedArrayGetMemoryRequirements test to common
tests
e4513f04c8 Update amdgpu-windows-interop with latest changes, pal
58aa0bab2ced0cc9ebe8d2d0932db6774feb4e49 2026-03-04(#3773)
b1f964d796 [rocprofiler-compute] Ensure long kernel name fully shows in
compute analyze (#3665)
4dcf1e3ce0 SWDEV-567112 - Replace test names (#3787)
33f5f302e5 ROCM-2428 - fixes hipStreamBatchMemOp invalid operation
checks (#3099)
139f4bfff8 [SWDEV-556456] Align HIP_UUID with rocminfo (#3614)
8e8928544c Reduce buffers alignment to 4 bytes (#3821)
51be29a647 AIRUNTIME-125: Consolidate Windows optimization and debug
flags (#3825)
1407392240 [AMD-SMI] CI: Fix root workflow to use ASIC-specific test
filters (#3807)
63f78a98d7 (origin/users/mcao/fix_rocpdsummary) [ROCM-SMI] Fix DRM
include dirs leaking absolute build paths to consumers (#3808)
caf2f7e1eb [ROCM-186] amd-smi: Add support for a VRAM and GTT tuning
interface (#3636)
a0712d4c2a [TheRock CI] Update projects_to_test lists (#3749)
02090c42c9 rocrtst: install gfx .hsaco files to share/rocrtst (#3744)
4a0a1cbfce Merge other simd table (#3696)
0d07657d78 Add missing kwargs from
rocprofiler_add_integration_validate_test in .cmake-format.yaml (#2336)
3a3df301dc Optimize device counting service GPU interactions (#1583)
95d9da0098 Add SPM Enable flag in build infrastructure (#3677)
12bb9435b2 [rocprofiler-sdk] On-demand GPU profile queue
creation/destruction (#3586)
941057c2c0  Navi4 tuning table iter 1 (#3052)
dbf2b7369f [AMD-SMI] Display N/A for cu_occupancy when file is
unavailable (#3589)
b0efc7c639 [RCCL] [UT] Add ROCTX test (#3625)
ba7a20ea18 Reducing the p2pnChannels for half-subscription A2A on
multi-node MI350 (#3381)
75238c98a2 [clr] Fix memory leak in getOrCreateHostcallBuffer (#3699)
af2ee0e8ad [hip-tests] ASAN Check for image support before we create
context (#3834)
ad4496678e Update windows ci subtree in include amdgpu-windows-interop
(#3814)
c8ad252208 [rocprofiler-register] Fix compilation with system fmt/glog
(#1243)
781881544d Update README to include dbgapi and debug agent components
(#3731)
88e4a7837e ROCProfiler and ROCTracer: Modifying deprecation note (#3831)
b5918a5f35 [ROCM-3124-3125-3126] CUID file generation hangs on MI350
systems/CUID test failures/Segmentation fault in CUID example code
(#3548)
97a5dd993c Update copyright to use SPDX IDs (#3805)
511730ab45 [rocshmem]: add flood-amo tester (#3653)
2d650a0065 [clr] Fix heap use after free error in device allocations
(#3789)
b6b179ad81 Disable hipHostRegister_Negative test for ASAN (#3832)
39ec318c8d [RCCL] Add GDA alltoallv via rocshmem integration (#3613)
fb0f4d53b1 [RCCL] [CUMEM] Fix cuMem multi-process runs (#3811)
c3de7d4bf6 SWDEV-526201 - Fix and enable disabled HIP tests from warp
group (#3089)
8d9a8ca161 roofline: code cleanup and refactor vector types (#3813)
8957e49028 Don't wait on command completion if worker thread is
destroyed (#3790)
9e7586a5fa [rocshmem] Add barrier APIs and expose `ROCSHMEM_TEAM_WORLD`
on device (#3651)
91b09235b0 Revert "fix local gpu release static build failure (#3667)"
(#3799)
0fda754b1b libhsakmt: Add secondary KFD context creation support
ee43db95b0 Revert "Update TheRock reference to 20260303 commit (#3709)"
(#3826)
86e28b9fae Added fix to update GL2C counters instance count for GFX11.5
(#3100)
93f69f7de4 Adjust includes to match use (#3742)
e9fbc3f1a2 (develop) Update TheRock reference to 20260303 commit (#3709)
be0675a1a6 (HEAD) Revert "Support fp8 types in hiprtc (#2605)" (#3792)
3e3a94a4ef [rocprofiler-systems] Add trace_cache support for
std::optional<T> serialization (#3490)
0b42a7f472 clr: Eliminate unnecessary kernel name string copies (#3774)
b6b0d77b29 rocr: Add hsa_amd_memory_async_batch_copy API for batched
memory copies (#3259)
486e6d12d2 Resolve staircase RS regression with 48 max channels (#3684)
eb59c85ac4 [gfx942][gfx950] Leverage new cache bypass builtins for
simple protocol where available (#2847)
4d74d27f0e (origin/users/raramakr/rocm-smi-target) Revert "Auto Labeler:
Add ci:regression-detection label to rccl PRs (#3543)" (#3769)
8f0795517c [AMD-SMI] CI: Use ASIC-specific test blacklists in workflows
(#3775)
7cef5b64c1 Fix MFMA total FLOPS calculation (#3371)
aea37512ba Remove duplicated tests (#3235)
b6c656fdd4 Remove duplicated tests in memory module (#3087)
ca3137d8f9 [rocprofiler-sdk] Install integration tests without building
for therock & Misc. fixes (#3047)
0ab5c41f65 [rdc] Enable on-demand queue mode in rocprofiler-sdk to
prevent inference degradation (#3629)
a1eb2a1f7c rocr/wsl: a library should not output to std::out by default
(#3718)
b7da296cc8 Reenable flood_put/get testers on mlx5 since they should work
after pr2732 (#3748)
000e24de2f [rocprofiler-sdk] Add automatic late-start support to
rocprofiler_force_configure (#2168)
64ea87f592 [hip-tests] Fix memory leaks in hipMemPoolTrimTo tests
(#3643)
543a7d765f rocr: Include code object allocs in lightweight coredump
a58da378d4 [rocdecode] - update rocdecode ctest (#3768)
f88e4ee44d [rocprofiler-systems] Make CDash submit non-fatal and add
GitHub Actions logging (#3525)
cb14debc3a [rocprofiler-systems] Update nlohmann-json submodule (#3391)
449253009a SWDEV-567112 - Introduce new mechanism for tagging and
disabling tests - Part 2 (#3707)
8ca991393d disabling rccl from full build (linux), covered in RCCL CI
(#3770)
c4fdb20b74 [ATT] Re-enable tests. Add option to specify perf to target
CU only (#2819)
615aab95ed ROCM-3816 Out of Memory fix (#3588)
8ffad41b24 Fix rocm_smi64 exporting invalid absolute paths to consumers
(#3717)
042d76a626 rocr: Remove dependency on KFD in Runtime::VMemoryHandleMap
(#2515)
555db59b2a [AMD-SMI] CPU: Added support for family 1A Models 50h-57h
(#3206)
3affa2c7a3 [SWDEV-555935] Fix shared mutex and self-heal (#3729)
ba0bf0f3db Replace hipMemGetInfo with ihipMemGetInfo and use it for
internal calls. (#2845)
c5cef9b18e Fix HIP_RETURN on all HIP API calls. (#2838)
241ce7ba83 Revert "memory: fix "contiguous_bytes" calculation in generic
conversion (#3285)" (#3755)
8a690f482e [kpack/clr] Windows PE/COFF support for kpack artifact
splitting and runtime loading (#3728)
863bdf8aa8 MFMA pre-processor guards for ipc.hip (#3724)
90bb9b1921 Release queue outside of vgpusAccess lock (#3705)
de4523910c clr: Add build support of ROCR and PAL backends together
(#3722)
dfb7abc2d8 [rocprofiler-sdk] RCCL API changes for
RCCL_API_TRACE_VERSION_PATCH = 3 (#3477)
d69d4f23db [AICOMRCCL-633] - Fixed warnings in tests (#3402)
067d86dcaa rocr/wsl: Disable AQL Queue usage with flag ROCR_USE_PM4
(#3663)
594eb60d42 [TheRock CI] rocm-systems build full ROCm stack (#3182)
27d17e8ea0 [ROCProfiler-SDK] Fix SWDEV-556922: Handle comments before
checking for pmc: (#1723)
c80d90439d memory: fix "contiguous_bytes" calculation in generic
conversion (#3285)
669987c83f [hip-tests] ASAN - add missing release handles (#3735)
a24bbd75a4 fix local gpu release static build failure (#3667)
259b2ff913 Speed up DeviceId (#2803)
65d9264bf4 Simplify MPI trace merge logic and remove legacy guards
(#3562)
1076c083cb use system to look for zcat path instead (#3720)
22f1d19db3 [AICOMRCCL-355] Enable threshold-based p2p-batching (#3000)
a2e4c794d2 Partially flatten template tests cases (#2597)
e242abe219 Pass space separated gfx target list to RCCL build command
(#3701)
4f78aea66d SWDEV-570074 - Refactor Memset memory object handling.
(#2228)
b3ad12d834 Support Nvidia build on theRock for HIP-tests (#3335)
a1cf15ea9a Support fp8 types in hiprtc (#2605)
8ef84b0a50 [rocprofiler-systems] Add HPC examples to automated testing
(#3437)
db3a70dfa0 Free memory which was allocated in tests (#3710)
27e6809c7e [rocprofiler-systems]: Fix rhel CI failure on for MPI and UCX
tests (#3700)
0d9aaf59d8 rccl/topo_expl: fix build issue. (#3719)
be04d75765 Fix zcat path used for checking kernel configs (#3423)
cab60a7b27 rocr/thunk/win: Add CU mask support (#3518)
5b3d826c05 [CUMEM] Initial support for cuMem APIs (#2763)
0606ff491f [HIP] [PLAT-194496] Improve Stress_hipMalloc_HighSizeAlloc
reliability (#3550)
05750a77cc fix hip-test name in config (#3716)
33f777f3e9 hsakmt: Remove --high functionality from run_kfdtest.sh
(#2486)
e4c46e3480 Hide the retain under direct dispatch check (#3698)
bfe0ca0279 Add rocprof trace decoder to CI tests (#3690)
a769b6f54e [rocSHMEM] Edgar/abstract allocator ipc part1 (#3411)
659fb52243 [AMD-SMI] Fix bugs, improve error handling, and clean up
NIC/switch code (#3654)
0eb26ea571 hsakmt: Fix Import/Export of dmabuf_fd for WSL/Windows
(#3348)
a122936abb [SWDEV-567812] Add UBB power and power_limit fields to
npm_info (#3262)
c3bec090c5 [rocprofiler-sdk][rocprofv3][rocpd] Updates for KFD data
(#340)
7c44d47740 SWDEV-547659 - Remove HIP_VERSION_GITHASH in logs (#448)
74b6487a6a SWDEV-547008 - Documentation fix for function return values
(#463)
af21cd44f1 SWDEV-545553 - Improve clarity and robustness of CALLBACK
unit tests (#546)
180d639044 SWDEV-544900 - Change hip-test test case name (#547)
feeca99950 Doc improvements (#3688)
c1822b6336 ROCprofiler-SDK: deprecation of legacy tools (#3609)
5d7aff8462 Fix rocprof-compute-viewer link (#3459)
0b0b4846f0 AIRUNTIME-129 - Fix Ocl test failures of 2D image with
pitches. (#3584)
ac569b87e0 Fix memory tests config (#3687)
603fe7a5cf [hip-tests] Enable hipMipmappedArrayGetMemoryRequirements
test via cmake
4fad4452d9 [hip] Docs: Updates to some memory management pages
8cc59559fe AICOMRCCL-656 fix memory leak in ncclCommInitRankFunc (#3628)
94a4595a5d Fix missing amd_comgr linkage in pc-sampling integration test
(#3453)
2a68565dce rocrtst: CMAke file: strip xnack/feature suffixes from gfxNum
in build_kernel (#3652)
c3542bfb2b [rocprofv3] Deprecating input text files for counter
collection (#1562)
ff122e7ed7 SWDEV-573073 - Cleanup hipHostAlloc/Malloc/Register tests
(#3017)
5b1deaf29d SWDEV-567112 - Introduce new mechanism for tagging and
disabling tests - Part 1 - Core (#2351)
6e0cc309e1 rocrtst: MaxSingleAllocationTest: skip CPU NUMA nodes >0
(#3208)
d65f601195 [AICOMRCCL-667] rccl: Change GDR selection logic. (#3607)
f1c44ab200 Patch Back to Old Repo: fixes from manual runs (#3621)
fe53bcd715 [AMD-SMI] Allow amdsmi init to succeed when no NIC hardware
is present (#3403)
b25600efdb [ROCM SMI] Fix fw pldm version not displayed in default
amd-smi (#3594)
169d2ef763 root to module wiring, remove legacy source collection
(#3482)
7469781988 [LRT][clr] SWDEV-512963-Fix CTS test failures for 1D buffer
copy (#3520)
c8f55d9b86 Adding rocprof trace decoder (#3576)
425e983502 Trace decoder codeowners (#3600)
a176efd648 [hip-tests] Add return statements to HIP_SKIP_TEST (#3647)
32687cf183 rocrtst: CPUAccessToGPUMemoryTest: Cap host allocation to 512
MB under ASAN (#3407)
97c0206753 Update codeowners for thunk DXG (#3334)
be44b28bb6 [rocdecode][rocjpeg] - ctest CMakeLists cleanup (#3632)
80ff0b8942 Various memory leak fixes in hip-tests (#3605)
0988f67a85 fix typo in help text (#3314)
9f823c53f1 Fix CUID file lookup by loading files before searching
entries (#3436)
064c89261b SWDEV-546177 - hipModuleGetLoadingMode API impl (#653)
006213e112 ROCM-2696: Ignare size and base if null ptr (#3336)
6060b99d83 Improve atomic min max test perf (#2580)
3fbcc13602 Change printf capture impl (#1127)
93bc01937c (tag: hip-version_7.12.60610,
origin/users/mradosav-amd/rocprofsys-selective-region) [ROCM-CORE]
Update rdhc script to support rocm install prefix
(ROCm/rocm-systems#3596)

[AICOMRCCL-355]:
https://amd-hub.atlassian.net/browse/AICOMRCCL-355?atlOrigin=eyJpIjoiNWRkNTljNzYxNjVmNDY3MDlhMDU5Y2ZhYzA5YTRkZjUiLCJwIjoiZ2l0aHViLWNvbS1KU1cifQ
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

3 participants