-
Notifications
You must be signed in to change notification settings - Fork 1.6k
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
[Triton][Allocation] Enable getScratchValueSize
specialization
#5070
base: main
Are you sure you want to change the base?
[Triton][Allocation] Enable getScratchValueSize
specialization
#5070
Conversation
In general, the changes are fine to me, but I need to think about it a bit more later since it involves interfaces. Please remind me in a few days |
Thanks, @Jokeren. I'll get back to this. |
Is the main motivation to be able to decouple |
Yeah, this is mostly the case. I think the allocation analysis is pretty robust, but not extensible. Having something like that would be pretty much enough. Maybe having that function as a plugin to the analysis as you say would be better than this. |
I think adding a lambda to let the backend override the scratch size for ops is better then |
yeah, you're right. After checking |
Allow passing a functor to `ModuleAllocation` constructor to override `getScratchValueSize` in the allocation analysis. This parameter will be `nullptr` by default. Signed-off-by: victor-eds <[email protected]>
c24b92d
to
ac2bafc
Compare
getScratchValueSize
specialization
cc3d159
to
acde2fa
Compare
LGTM, @ThomasRaoux what do you think? |
Thanks for your review. @ThomasRaoux, can we get another pair of eyes on this one? |
Allow passing a functor to
ModuleAllocation
constructor to overridegetScratchValueSize
in the allocation analysis. This parameter willbe a default implementation by default.
The core Triton is a small number of people, and we receive many PRs (thank
you!). To help us review your code more quickly, if you are a new
contributor (less than 3 PRs merged) we ask that you complete the following
tasks and include the filled-out checklist in your PR description.
Complete the following tasks before sending your PR, and replace
[ ]
with[x]
to indicate you have done them.I am not making a trivial change, such as fixing a typo in a comment.
I have written a PR description following these
rules.
I have run
pre-commit run --from-ref origin/main --to-ref HEAD
.Select one of the following.
/test
forlit
tests/unittest
for C++ tests/python/test
for end-to-end testsSelect one of the following.
lit
tests.lit
tests I have added follow these best practices,including the "tests should be minimal" section. (Usually running Python code
and using the instructions it generates is not minimal.)