-
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 6 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,107 @@ | ||
| # Copyright Advanced Micro Devices, Inc. | ||
| # SPDX-License-Identifier: MIT | ||
|
|
||
| name: Test Artifact Structure | ||
|
|
||
| on: | ||
| workflow_dispatch: | ||
| inputs: | ||
| artifact_run_id: | ||
| description: "GitHub Actions run ID containing the artifacts" | ||
| required: true | ||
| type: string | ||
|
|
||
| artifact_github_repo: | ||
| description: "Repository containing the artifact run" | ||
| required: false | ||
| default: "ROCm/rockrel" | ||
| type: string | ||
|
|
||
| amdgpu_families: | ||
| description: "Semicolon-separated GPU families, for example gfx94X-dcgpu;gfx120X-all" | ||
| required: false | ||
| default: "" | ||
| type: string | ||
|
|
||
| platform: | ||
| description: "Artifact platform" | ||
| required: false | ||
| default: "linux" | ||
| type: choice | ||
| options: | ||
| - linux | ||
| - windows | ||
|
|
||
| release_type: | ||
| description: "Release type: ci or dev" | ||
| required: false | ||
| default: "ci" | ||
| type: choice | ||
| options: | ||
| - ci | ||
| - dev | ||
|
|
||
| repository: | ||
| description: "Repository containing the test code" | ||
| required: false | ||
| default: "ROCm/TheRock" | ||
| type: string | ||
|
|
||
| ref: | ||
| description: "TheRock branch, tag, or SHA" | ||
| required: false | ||
| default: "main" | ||
| type: string | ||
|
|
||
| workflow_call: | ||
| inputs: | ||
| artifact_run_id: | ||
| required: true | ||
| type: string | ||
|
|
||
| artifact_github_repo: | ||
| required: false | ||
| default: "ROCm/rockrel" | ||
| type: string | ||
|
|
||
| amdgpu_families: | ||
| required: false | ||
| default: "" | ||
| type: string | ||
|
|
||
| platform: | ||
| required: false | ||
| default: "linux" | ||
| type: string | ||
|
|
||
| release_type: | ||
| required: false | ||
| default: "ci" | ||
| type: string | ||
|
|
||
| repository: | ||
| required: false | ||
| default: "ROCm/TheRock" | ||
| type: string | ||
|
|
||
| ref: | ||
| required: false | ||
| default: "main" | ||
| type: string | ||
|
|
||
| permissions: | ||
| contents: read | ||
| actions: read | ||
|
|
||
| jobs: | ||
| validate: | ||
| uses: ROCm/TheRock/.github/workflows/test_artifacts_structure.yml@main | ||
| secrets: inherit | ||
| with: | ||
| artifact_run_id: ${{ inputs.artifact_run_id }} | ||
| artifact_github_repo: ${{ inputs.artifact_github_repo }} | ||
| amdgpu_families: ${{ inputs.amdgpu_families }} | ||
| platform: ${{ inputs.platform }} | ||
| release_type: ${{ inputs.release_type }} | ||
| repository: ${{ inputs.repository }} | ||
| ref: ${{ inputs.ref }} |
|
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. This is not needed, see https://github.com/ROCm/TheRock/blob/a3e3f450db81b55f53a05581ebf52a21583c1126/.github/workflows/multi_arch_build_linux_jax_wheels.yml#L299-L306 test_jax_wheels:
if: ${{ inputs.test_amdgpu_family != '' }}
needs: [build_jax_wheels, generate_target_to_run]
name: Test | ${{ inputs.test_amdgpu_family }} | ${{ needs.generate_target_to_run.outputs.test_runs_on }}
permissions:
contents: read
id-token: write
uses: ./.github/workflows/test_multi_arch_linux_jax_wheels.yml |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,116 @@ | ||
| # Copyright Advanced Micro Devices, Inc. | ||
| # SPDX-License-Identifier: MIT | ||
|
|
||
| # Thin wrapper that dispatches to TheRock's test_linux_jax_wheels.yml. | ||
|
|
||
| name: Test Linux JAX Wheels | ||
|
|
||
| on: | ||
| workflow_dispatch: | ||
| inputs: | ||
| amdgpu_family: | ||
| description: GPU family to test | ||
| required: true | ||
| type: string | ||
| default: "gfx94X-dcgpu" | ||
|
|
||
| release_type: | ||
| description: Release type | ||
| required: true | ||
| type: string | ||
| default: "dev" | ||
|
|
||
| package_index_url: | ||
| description: Base Python package index URL | ||
| required: true | ||
| type: string | ||
| default: "https://rocm.nightlies.amd.com/v2-staging/" | ||
|
|
||
| rocm_version: | ||
| description: ROCm version | ||
| required: false | ||
| type: string | ||
| default: "" | ||
|
|
||
| tar_url: | ||
| description: URL to the TheRock tarball | ||
| required: true | ||
| type: string | ||
|
|
||
| python_version: | ||
| description: Python version | ||
| required: true | ||
| type: string | ||
| default: "3.12" | ||
|
|
||
| jax_ref: | ||
| description: rocm-jax repository ref | ||
| required: false | ||
| type: string | ||
| default: "rocm-jaxlib-v0.11.0" | ||
|
|
||
| jax_version: | ||
| description: Base JAX version | ||
| required: false | ||
| type: string | ||
| default: "" | ||
|
|
||
| jaxlib_version: | ||
| description: jaxlib wheel version | ||
| required: false | ||
| type: string | ||
| default: "" | ||
|
|
||
| jax_plugin_version: | ||
| description: jax ROCm plugin wheel version | ||
| required: false | ||
| type: string | ||
| default: "" | ||
|
|
||
| jax_pjrt_version: | ||
| description: jax ROCm PJRT wheel version | ||
| required: false | ||
| type: string | ||
| default: "" | ||
|
|
||
| test_runs_on: | ||
| description: Runner label with a compatible GPU | ||
| required: true | ||
| type: string | ||
| default: "linux-gfx942-1gpu-ccs-csp-ossci-rocm" | ||
|
|
||
| repository: | ||
| 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" | ||
|
|
||
| permissions: | ||
| contents: read | ||
| packages: read | ||
|
|
||
| jobs: | ||
| test: | ||
| uses: ROCm/TheRock/.github/workflows/test_linux_jax_wheels.yml@main | ||
| secrets: inherit | ||
| with: | ||
| amdgpu_family: ${{ inputs.amdgpu_family }} | ||
| release_type: ${{ inputs.release_type }} | ||
| package_index_url: ${{ inputs.package_index_url }} | ||
| rocm_version: ${{ inputs.rocm_version }} | ||
| tar_url: ${{ inputs.tar_url }} | ||
| python_version: ${{ inputs.python_version }} | ||
| jax_ref: ${{ inputs.jax_ref }} | ||
| jax_version: ${{ inputs.jax_version }} | ||
| jaxlib_version: ${{ inputs.jaxlib_version }} | ||
| jax_plugin_version: ${{ inputs.jax_plugin_version }} | ||
| jax_pjrt_version: ${{ inputs.jax_pjrt_version }} | ||
| test_runs_on: ${{ inputs.test_runs_on }} | ||
| repository: ${{ inputs.repository }} | ||
| ref: ${{ inputs.ref }} |
|
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. This is not needed since the calling workflow https://github.com/ROCm/TheRock/blob/a3e3f450db81b55f53a05581ebf52a21583c1126/.github/workflows/multi_arch_build_portable_linux_pytorch_wheels.yml#L497-L519 has The - name: Dispatch full PyTorch test workflow
if: ${{ steps.cadence.outputs.dispatch == 'true' }}
uses: benc-uk/workflow-dispatch@31e2b3319479a63f0ab15bf800eff9e913504e26 # v1.3.2
with:
workflow: test_pytorch_wheels_full.yml |
| 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_pytorch_wheels.yml. | ||
|
|
||
| name: Test PyTorch 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" | ||
|
|
||
| package_index_url: | ||
| description: Python package index URL | ||
| required: true | ||
| type: string | ||
| default: "https://rocm.nightlies.amd.com/whl-multi-arch/" | ||
|
|
||
| python_version: | ||
| description: Python version | ||
| required: true | ||
| type: string | ||
| default: "3.12" | ||
|
|
||
| torch_version: | ||
| description: Torch package version | ||
| required: true | ||
| type: string | ||
|
|
||
| pytorch_git_ref: | ||
| description: PyTorch source ref | ||
| required: false | ||
| type: string | ||
| default: "release/2.7" | ||
|
|
||
| device_query: | ||
| description: GPU candidate-set selection | ||
| required: false | ||
| type: choice | ||
| options: | ||
| - unique | ||
| - all | ||
| default: unique | ||
|
|
||
| gpu_policy: | ||
| description: Number of GPUs visible during each test | ||
| required: false | ||
| type: choice | ||
| options: | ||
| - single | ||
| - all | ||
| default: single | ||
|
|
||
| repository: | ||
| 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" | ||
|
|
||
| permissions: | ||
| contents: read | ||
|
|
||
| jobs: | ||
| test: | ||
| uses: ROCm/TheRock/.github/workflows/test_pytorch_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 }} | ||
| python_version: ${{ inputs.python_version }} | ||
| torch_version: ${{ inputs.torch_version }} | ||
| pytorch_git_ref: ${{ inputs.pytorch_git_ref }} | ||
| device_query: ${{ inputs.device_query }} | ||
| gpu_policy: ${{ inputs.gpu_policy }} | ||
| repository: ${{ inputs.repository }} | ||
| ref: ${{ inputs.ref }} |
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.
Some background:
Stub workflows are needed whenever forking from the current github workflow run to a separate workflow run via
uses: benc-uk/workflow-dispatch(see https://github.com/ROCm/TheRock/blob/main/.github/workflows/multi_arch_release_linux.yml). They are not needed when just usinguses: ./.github/workflowsWe currently dispatch for
test_artifacts.ymltest_native_linux_packages_install.ymlThe reasons we dispatch instead of including in the current workflow run include:
This particular
test_artifacts_structure.ymlworkflow runs on CPU machines after the build, and we do run some other CPU tests during the build. I could see cases for either: