Skip to content

Refactors CustomSchedule.py for scale out of schedules#2574

Merged
talumbau merged 2 commits into
hipblaslt_common_cms_devfrom
users/talumbau/cms_functions
Nov 11, 2025
Merged

Refactors CustomSchedule.py for scale out of schedules#2574
talumbau merged 2 commits into
hipblaslt_common_cms_devfrom
users/talumbau/cms_functions

Conversation

@talumbau
Copy link
Copy Markdown
Contributor

Motivation

We are about to land a significant number of custom schedules for various tile sizes and transpose orientations. By using the convention "a schedule is described in a function" we can reasonably scale the code out, instead of a chain of if/elif blocks that spans hundreds or thousands of lines. Initially we keep the existing schedules in functions inside CustomSchedule.py, but we can refactor as needed.

Technical Details

Test Plan

TENSILELITE_CLIENT_ARGS="--build-type Debug --gpu-targets gfx950 --clean" tox -e py39 -- Tensile/Tests -k custom_mainloop_scheduling.yaml

Test Result

@talumbau talumbau requested a review from a team as a code owner November 10, 2025 17:44
@talumbau talumbau added the gfx950 run CI on gfx950 label Nov 10, 2025
@talumbau
Copy link
Copy Markdown
Contributor Author

Note: this is only the changes for the fileCustomSchedule.py from #2554.

@talumbau talumbau changed the base branch from develop to users/common/cvs_dev November 10, 2025 18:12
@talumbau talumbau requested review from a team as code owners November 10, 2025 18:12
- Functions are a scalable way to organize custom schedule
  implementations. Takes all existing schedule implementations and puts
  each in its own function. Over time, we can factor out the functions
  to a separate module, if desired.
 - use helpers for _get_schedule... functions to make a consistent
   calling convention.
@talumbau talumbau force-pushed the users/talumbau/cms_functions branch from 1044690 to 5694bbf Compare November 10, 2025 18:21
@msujon-AMD msujon-AMD changed the base branch from users/common/cvs_dev to hipblaslt_common_cms_dev November 11, 2025 00:50
@talumbau talumbau added gfx950 run CI on gfx950 and removed gfx950 run CI on gfx950 labels Nov 11, 2025
@math-ci
Copy link
Copy Markdown

math-ci Bot commented Nov 11, 2025

perfci run on commit 93c031e

math-ci run

@talumbau talumbau merged commit 0adc241 into hipblaslt_common_cms_dev Nov 11, 2025
23 of 28 checks passed
@talumbau talumbau deleted the users/talumbau/cms_functions branch November 11, 2025 15:08
talumbau added a commit that referenced this pull request Nov 12, 2025
We are about to land a significant number of custom schedules for
various tile sizes and transpose orientations. By using the convention
"a schedule is described in a function" we can reasonably scale the code
out, instead of a chain of if/elif blocks that spans hundreds or
thousands of lines. Initially we keep the existing schedules in
functions inside CustomSchedule.py, but we can refactor as needed.

TENSILELITE_CLIENT_ARGS="--build-type Debug --gpu-targets gfx950
--clean" tox -e py39 -- Tensile/Tests -k custom_mainloop_scheduling.yaml

<!-- Briefly summarize test outcomes. -->
talumbau added a commit that referenced this pull request Nov 12, 2025
We are about to land a significant number of custom schedules for
various tile sizes and transpose orientations. By using the convention
"a schedule is described in a function" we can reasonably scale the code
out, instead of a chain of if/elif blocks that spans hundreds or
thousands of lines. Initially we keep the existing schedules in
functions inside CustomSchedule.py, but we can refactor as needed.

TENSILELITE_CLIENT_ARGS="--build-type Debug --gpu-targets gfx950
--clean" tox -e py39 -- Tensile/Tests -k custom_mainloop_scheduling.yaml

<!-- Briefly summarize test outcomes. -->
sebvince pushed a commit to sebvince/rocm-libraries that referenced this pull request Nov 12, 2025
## Motivation

We are about to land a significant number of custom schedules for
various tile sizes and transpose orientations. By using the convention
"a schedule is described in a function" we can reasonably scale the code
out, instead of a chain of if/elif blocks that spans hundreds or
thousands of lines. Initially we keep the existing schedules in
functions inside CustomSchedule.py, but we can refactor as needed.

## Technical Details


## Test Plan

TENSILELITE_CLIENT_ARGS="--build-type Debug --gpu-targets gfx950
--clean" tox -e py39 -- Tensile/Tests -k custom_mainloop_scheduling.yaml
## Test Result

<!-- Briefly summarize test outcomes. -->
ammallya pushed a commit that referenced this pull request Feb 3, 2026
Re-enable group mode instances for the Pytorch receipt and resolve linker errors for torch SDPA

[ROCm/composable_kernel commit: 7fe50dc]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants