-
Notifications
You must be signed in to change notification settings - Fork 8
Add wrappers to rockrel #84
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Changes from 8 commits
8222a60
c87956f
0339d3e
a09e10d
4f282f0
5787793
ac6a76a
48f9752
617691a
74c66ca
b198e51
437dc34
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change | ||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| @@ -0,0 +1,93 @@ | ||||||||||||||||||||||||||||||||||
| # Copyright Advanced Micro Devices, Inc. | ||||||||||||||||||||||||||||||||||
| # SPDX-License-Identifier: MIT | ||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||
| # Thin wrapper that dispatches to TheRock's test_rocm_wheels.yml. | ||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||
| name: Test ROCm Wheels | ||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||
| on: | ||||||||||||||||||||||||||||||||||
| workflow_dispatch: | ||||||||||||||||||||||||||||||||||
| inputs: | ||||||||||||||||||||||||||||||||||
| amdgpu_family: | ||||||||||||||||||||||||||||||||||
| description: GPU family to test | ||||||||||||||||||||||||||||||||||
| required: true | ||||||||||||||||||||||||||||||||||
| type: string | ||||||||||||||||||||||||||||||||||
| default: "gfx94X-dcgpu" | ||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||
| test_runs_on: | ||||||||||||||||||||||||||||||||||
| description: Runner label with a compatible GPU | ||||||||||||||||||||||||||||||||||
| required: true | ||||||||||||||||||||||||||||||||||
| type: string | ||||||||||||||||||||||||||||||||||
| default: "linux-gfx942-1gpu-ccs-csp-ossci-rocm" | ||||||||||||||||||||||||||||||||||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. nit: can you remove the newlines between each input? We don't have them there in either:
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I think we can remove most of the defaults from this wrapper, to make maintenance easier. The wrappers are not dispatched by human developers that benefit from defaults, they are dispatched by release workflows that already have complete (and dynamic!) inputs.
|
||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||
| package_index_url: | ||||||||||||||||||||||||||||||||||
| description: Python package index URL | ||||||||||||||||||||||||||||||||||
| required: false | ||||||||||||||||||||||||||||||||||
| type: string | ||||||||||||||||||||||||||||||||||
| default: "https://rocm.nightlies.amd.com/whl-multi-arch/" | ||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||
| package_find_links_url: | ||||||||||||||||||||||||||||||||||
| description: Python package URL for --find-links | ||||||||||||||||||||||||||||||||||
| required: false | ||||||||||||||||||||||||||||||||||
| type: string | ||||||||||||||||||||||||||||||||||
| default: "" | ||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||
| python_version: | ||||||||||||||||||||||||||||||||||
| description: Python version | ||||||||||||||||||||||||||||||||||
| required: true | ||||||||||||||||||||||||||||||||||
| type: string | ||||||||||||||||||||||||||||||||||
| default: "3.12" | ||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||
| rocm_version: | ||||||||||||||||||||||||||||||||||
| description: ROCm version to install | ||||||||||||||||||||||||||||||||||
| required: true | ||||||||||||||||||||||||||||||||||
| type: string | ||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||
| kpack_split: | ||||||||||||||||||||||||||||||||||
| description: "'true' for a kpack-split flat build" | ||||||||||||||||||||||||||||||||||
| required: false | ||||||||||||||||||||||||||||||||||
| type: string | ||||||||||||||||||||||||||||||||||
| default: "false" | ||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||
| container_image_name: | ||||||||||||||||||||||||||||||||||
| description: Human-readable container image label | ||||||||||||||||||||||||||||||||||
| required: true | ||||||||||||||||||||||||||||||||||
| type: string | ||||||||||||||||||||||||||||||||||
| default: "ubuntu24.04" | ||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||
| container_image_url: | ||||||||||||||||||||||||||||||||||
| description: Container image reference | ||||||||||||||||||||||||||||||||||
| required: false | ||||||||||||||||||||||||||||||||||
| type: string | ||||||||||||||||||||||||||||||||||
| default: "ghcr.io/rocm/no_rocm_image_ubuntu24_04@sha256:405945a40deaff9db90b9839c0f41d4cba4a383c1a7459b28627047bf6302a26" | ||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||
| repository: | ||||||||||||||||||||||||||||||||||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. can we please use the description we already use in other workflows? |
||||||||||||||||||||||||||||||||||
| description: Repository containing the test source | ||||||||||||||||||||||||||||||||||
| required: false | ||||||||||||||||||||||||||||||||||
| type: string | ||||||||||||||||||||||||||||||||||
| default: "ROCm/TheRock" | ||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||
| ref: | ||||||||||||||||||||||||||||||||||
| description: Branch, tag, or SHA containing the test source | ||||||||||||||||||||||||||||||||||
| required: false | ||||||||||||||||||||||||||||||||||
| type: string | ||||||||||||||||||||||||||||||||||
| default: "main" | ||||||||||||||||||||||||||||||||||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Not sure about this default, let's stick to what the other wrapper workflows do:
|
||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||
| permissions: | ||||||||||||||||||||||||||||||||||
| contents: read | ||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||
| jobs: | ||||||||||||||||||||||||||||||||||
| test: | ||||||||||||||||||||||||||||||||||
| uses: ROCm/TheRock/.github/workflows/test_rocm_wheels.yml@main | ||||||||||||||||||||||||||||||||||
| secrets: inherit | ||||||||||||||||||||||||||||||||||
| with: | ||||||||||||||||||||||||||||||||||
| amdgpu_family: ${{ inputs.amdgpu_family }} | ||||||||||||||||||||||||||||||||||
| test_runs_on: ${{ inputs.test_runs_on }} | ||||||||||||||||||||||||||||||||||
| package_index_url: ${{ inputs.package_index_url }} | ||||||||||||||||||||||||||||||||||
| package_find_links_url: ${{ inputs.package_find_links_url }} | ||||||||||||||||||||||||||||||||||
| python_version: ${{ inputs.python_version }} | ||||||||||||||||||||||||||||||||||
| rocm_version: ${{ inputs.rocm_version }} | ||||||||||||||||||||||||||||||||||
| container_image_name: ${{ inputs.container_image_name }} | ||||||||||||||||||||||||||||||||||
| container_image_url: ${{ inputs.container_image_url }} | ||||||||||||||||||||||||||||||||||
| repository: ${{ inputs.repository }} | ||||||||||||||||||||||||||||||||||
| ref: ${{ inputs.ref }} | ||||||||||||||||||||||||||||||||||
|
Comment on lines
+63
to
+93
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. We should add quartz notify steps like those recently added to https://github.com/ROCm/rockrel/blob/main/.github/workflows/test_artifacts.yml in f962e5f here |
||||||||||||||||||||||||||||||||||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is probably worth adding, unlike (currently) the pytorch and jax test jobs.
For this to be used, we'd want to dispatch the workflow here: https://github.com/ROCm/TheRock/blob/a3e3f450db81b55f53a05581ebf52a21583c1126/.github/workflows/multi_arch_release_linux.yml#L197-L299, with inputs similar to those used to test rocm wheels on CI: https://github.com/ROCm/TheRock/blob/a3e3f450db81b55f53a05581ebf52a21583c1126/.github/workflows/multi_arch_ci_linux.yml#L279-L307
That being said, we could also merge "test rocm wheels" with "test rocm native linux packages" into a single workflow to limit how many workflow files we have. It could even be a single "test rocm" workflow that would include:
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We discussed offline. This will be useful to keep, especially as we add more tests to this workflow like tests for amdsmi, hipdnn, and rocprofiler.
To work on this you can trigger https://github.com/ROCm/TheRock/actions/workflows/test_rocm_wheels.yml directly to get familiar with the inputs and test any changes to the workflow. Then you can trigger https://github.com/ROCm/TheRock/actions/workflows/multi_arch_release.yml (in TheRock) from your branch with 1-2 GPU families per platform (maybe gfx950 on Linux due to queues for gfx942).