-
Notifications
You must be signed in to change notification settings - Fork 25.6k
inductor: remove duplicate triton configs for autotuning #142254
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
Conversation
🔗 Helpful Links🧪 See artifacts and rendered test results at hud.pytorch.org/pr/142254
Note: Links to docs will display an error until the docs builds have been completed. ✅ You can merge normally! (3 Unrelated Failures)As of commit 5cc9e03 with merge base 960a81f ( FLAKY - The following jobs failed but were likely due to flakiness present on trunk:
BROKEN TRUNK - The following job failed but were present on the merge base:👉 Rebase onto the `viable/strict` branch to avoid these failures
This comment was automatically generated by Dr. CI and updates every 15 minutes. |
This pull request was exported from Phabricator. Differential Revision: D66893774 |
✅ Deploy Preview for chimerical-cranachan-793287 ready!
To edit notification comments on pull requests, go to your Netlify site configuration. |
) Summary: # Why - sampling the same config multiple times is wasteful, especially on exhaustive - for AMD we rewrite the configs to have a specific number of stages, which might lead to some configs appearing multiple times # What cast the configs, already defined as a tuple, through a set to remove duplicates Test Plan: taken from the `mm_kernel_configs` logic in the same file ``` >>> mm_kernel_configs = [ {"config": (BLOCK_M, BLOCK_N, BLOCK_K, num_stages, num_warps), "cond": True} for BLOCK_M, BLOCK_N, BLOCK_K in itertools.product( [16, 32, 64, 128, 256], repeat=3 ) for num_stages in [1, 2, 3, 4, 5] for num_warps in [2, 4, 8] ] >>> configs = [c['config'] for c in mm_kernel_configs] >>> a = tuple((c[0], c[1], c[2], 0, c[4]) for c in configs) >>> len(set(a)) 375 >>> len(a) 1875 >>> ``` Differential Revision: D66893774
78163bb
to
3c9e793
Compare
This pull request was exported from Phabricator. Differential Revision: D66893774 |
3c9e793
to
facf5c6
Compare
) Summary: # Why - sampling the same config multiple times is wasteful, especially on exhaustive - for AMD we rewrite the configs to have a specific number of stages, which might lead to some configs appearing multiple times # What cast the configs, already defined as a tuple, through a set to remove duplicates Test Plan: taken from the `mm_kernel_configs` logic in the same file ``` >>> mm_kernel_configs = [ {"config": (BLOCK_M, BLOCK_N, BLOCK_K, num_stages, num_warps), "cond": True} for BLOCK_M, BLOCK_N, BLOCK_K in itertools.product( [16, 32, 64, 128, 256], repeat=3 ) for num_stages in [1, 2, 3, 4, 5] for num_warps in [2, 4, 8] ] >>> configs = [c['config'] for c in mm_kernel_configs] >>> a = tuple((c[0], c[1], c[2], 0, c[4]) for c in configs) >>> len(set(a)) 375 >>> len(a) 1875 >>> ``` Differential Revision: D66893774
This pull request was exported from Phabricator. Differential Revision: D66893774 |
) Summary: # Why - sampling the same config multiple times is wasteful, especially on exhaustive - for AMD we rewrite the configs to have a specific number of stages, which might lead to some configs appearing multiple times # What cast the configs, already defined as a tuple, through a set to remove duplicates Test Plan: taken from the `mm_kernel_configs` logic in the same file ``` >>> mm_kernel_configs = [ {"config": (BLOCK_M, BLOCK_N, BLOCK_K, num_stages, num_warps), "cond": True} for BLOCK_M, BLOCK_N, BLOCK_K in itertools.product( [16, 32, 64, 128, 256], repeat=3 ) for num_stages in [1, 2, 3, 4, 5] for num_warps in [2, 4, 8] ] >>> configs = [c['config'] for c in mm_kernel_configs] >>> a = tuple((c[0], c[1], c[2], 0, c[4]) for c in configs) >>> len(set(a)) 375 >>> len(a) 1875 >>> ``` Differential Revision: D66893774
facf5c6
to
5cc9e03
Compare
This pull request was exported from Phabricator. Differential Revision: D66893774 |
@pytorchbot merge (Initiating merge automatically since Phabricator Diff has merged) |
Merge startedYour change will be merged once all checks pass (ETA 0-4 Hours). Learn more about merging in the wiki. Questions? Feedback? Please reach out to the PyTorch DevX Team |
Summary:
Why
What
cast the configs, already defined as a tuple, through a set to remove duplicates
Test Plan:
taken from the
mm_kernel_configs
logic in the same fileDifferential Revision: D66893774
cc @voznesenskym @penguinwu @EikanWang @jgong5 @Guobing-Chen @XiaobingSuper @zhuhaozhe @blzheng @wenzhe-nrv @jiayisunx @ipiszy @yf225 @chenyang78 @kadeng @muchulee8 @ColinPeppler @amjames @desertfire @chauhang @aakhundov