Skip to content

ci(hipdnn): validate Python wheel in superbuild#9364

Open
tvy-amd wants to merge 31 commits into
developfrom
users/tvy/hipdnn-superbuild-python-wheel-ci
Open

ci(hipdnn): validate Python wheel in superbuild#9364
tvy-amd wants to merge 31 commits into
developfrom
users/tvy/hipdnn-superbuild-python-wheel-ci

Conversation

@tvy-amd

@tvy-amd tvy-amd commented Jul 13, 2026

Copy link
Copy Markdown
Contributor

Summary

Adds Python frontend wheel validation to the existing hipDNN superbuild CI on Linux and Windows. This PR is stacked on #9211 because the workflow uses the packaging layout and helper scripts introduced there.

JIRA ID : ALMIOPEN-2286

Risk Assessment

Risk level 2. This is workflow-only CI wiring: it does not change hipDNN runtime behavior, kernels, provider dispatch, or public API. The main risk is CI reliability/runtime because the superbuild jobs now also configure, pack, install, and test the Python frontend wheel.

ASIC Coverage

No full multi-arch sweep required. The change is CI workflow wiring only; the relevant coverage is the hipDNN Superbuild CI jobs on their configured ROCm wheel targets: Linux gfx94X-dcgpu / gfx942 and Windows gfx1151.

Testing Summary

  • Verified the stacked PR diff contains only .github/workflows/hipdnn-superbuild-ci.yml.
  • Verified the source branch PR diff no longer contains .github/workflows/hipdnn-superbuild-ci.yml.
  • Parsed the workflow YAML locally with PyYAML.

Testing Checklist

  • Branch diff isolation - git diff --name-status origin/users/tvy/hipdnn-python-wheel-package...HEAD - Status: Passed
  • Source branch cleanup check - git diff --name-only origin/develop...origin/users/tvy/hipdnn-python-wheel-package -- .github/workflows/hipdnn-superbuild-ci.yml - Status: Passed
  • Workflow YAML parse - python -c "from pathlib import Path; import yaml; path=Path('.github/workflows/hipdnn-superbuild-ci.yml'); data=yaml.safe_load(path.read_text(encoding='utf-8')); assert data['name']=='hipDNN Superbuild CI'; assert 'hipdnn-windows-superbuild' in data['jobs']; assert 'hipdnn-linux-superbuild' in data['jobs']; print(f'parsed {path}')" - Status: Passed
  • hipDNN Superbuild CI, Linux - GitHub Actions workflow - ASICs: gfx94X-dcgpu / gfx942 - Status: Pending
  • hipDNN Superbuild CI, Windows - GitHub Actions workflow - ASICs: gfx1151 - Status: Pending
  • PR CI - GitHub PR checks - Status: Pending

Technical Changes

  • Triggers the hipDNN superbuild workflow when .github/workflows/hipdnn-superbuild-ci.yml changes.
  • Grants actions: read permission required by the workflow checks.
  • Adds Python frontend wheel validation to both Linux and Windows hipDNN superbuild jobs: patch superbuild outputs into the ROCm SDK, install Python build dependencies, download pinned third-party dependency sources, configure/build frontend bindings, pack/install the frontend wheel, and run the wheel pytest suite.

tvy-amd added 30 commits July 13, 2026 09:10
@github-actions github-actions Bot added github actions project: none Does not target any component labels Jul 13, 2026
@tvy-amd tvy-amd marked this pull request as ready for review July 13, 2026 20:36
@tvy-amd tvy-amd requested a review from a team as a code owner July 13, 2026 20:36
tvy-amd added a commit that referenced this pull request Jul 14, 2026
## Summary

Adds the standalone hipDNN Python frontend wheel package and build
wiring. The CI workflow changes that validate this package are split
into stacked PR #9364.

JIRA ID : ALMIOPEN-2286

## Risk Assessment

Risk level 3. This changes hipDNN Python packaging/build wiring and
moves the frontend bindings into a standalone CMake project. It does not
change kernels, provider dispatch, or hipDNN runtime behavior, but it
changes how the Python frontend wheel is assembled and consumed.

## ASIC Coverage

No full multi-arch sweep required. The change is packaging/build wiring
for the Python frontend; runtime GPU coverage is provided by existing
Python frontend tests and the stacked superbuild CI workflow in #9364 on
Linux `gfx94X-dcgpu` / `gfx942` and Windows `gfx1151`.

## Testing Summary

- Local Python syntax/help checks passed for the wheel packer, package
initializer, and import-alias regression test.
- End-to-end superbuild wheel validation is split into stacked PR #9364.

## Testing Checklist

- [x] Python syntax/help checks - `python -m py_compile
projects/hipdnn/python/frontend_wheel_package/pack_frontend_wheel.py
projects/hipdnn/python/frontend_wheel_package/src/hipdnn_frontend/__init__.py
projects/hipdnn/python/frontend_wheel_package/tests/test_import_alias.py
&& python
projects/hipdnn/python/frontend_wheel_package/pack_frontend_wheel.py
--help` - Status: Passed
- [ ] Stacked superbuild CI PR - #9364 - Status: Pending
- [ ] PR CI - GitHub PR checks - Status: Pending

## Technical Changes

- Splits Python frontend bindings into a standalone CMake project under
`projects/hipdnn/python/frontend_bindings` that consumes installed
`hipdnn_frontend`, `hipdnn_backend`, HIP, Python, and nanobind packages.
- Adds `frontend_wheel_package` with wheel metadata, runtime package
initializer, wheel packing script, relocated samples/tests, and an
import-alias regression test.
- Adds `download_third_party_deps.py` so CI and local wheel builds can
stage pinned third-party dependency sources without relying on CMake
network fetches.
- Updates hipDNN Python documentation and removes the old in-tree Python
CMake/pyproject wiring so packaging is owned by the standalone wheel
path.
- Updates the dnn-benchmark setup scripts to build/package the
standalone bindings and wire the staged wheel package into the ROCm
wheel environment.
Base automatically changed from users/tvy/hipdnn-python-wheel-package to develop July 14, 2026 07:50
@tvy-amd tvy-amd requested a review from a team as a code owner July 14, 2026 07:50
@therock-pr-bot

therock-pr-bot Bot commented Jul 14, 2026

Copy link
Copy Markdown

✅ All Checks Passed — Ready for Review

Check Status Details
🌿 Branch Name ✅ Pass
📝 PR Title/Description ✅ Pass
Forbidden Files ✅ Pass
🧪 Unit Test ✅ Pass PR does not contain code files — Unit Test auto-passed
🔎 pre-commit ✅ Pass
🚫 Draft PR 🔜 To Be Enabled
🚩 Feature Flag 🔜 To Be Enabled
📊 Code Coverage 🔜 To Be Enabled
🤖 therock-pr-bot ✅ Pass

🎉 All checks passed! This PR is ready for review.

📖 Need help? See the Policy FAQ for details on every check and how to fix failures.

@tvy-amd tvy-amd removed the request for review from a team July 14, 2026 15:10
@therock-pr-bot

Copy link
Copy Markdown

🎉 All checks passed! This PR is ready for review.

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

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant