-
Notifications
You must be signed in to change notification settings - Fork 3.5k
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
[Hexagon] Add contrib tests for blocked conv2d and maxpool2d #8960
Conversation
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.
Great PR, thank you @csullivan ! Left some comments and nits
int(ceildiv(in_channel, in_factor)), | ||
kernel, | ||
kernel, | ||
in_factor // in_second_factor, |
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.
in_first_factor
The changes look good to me. I like the hoisting of the shape definitions up into the |
Thanks for the feedback @tmoreau89 @adstraw @Lunderberg, I've updated the commit. Please take a look when you have a chance. |
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.
Thank you @csullivan the PR looks excellent, LGTM!
Thank you @adstraw @Lunderberg @csullivan the PR has been merged |
# Combination of padding required by conv2d operator and padding to evenly divisible | ||
# number of blocks. Note that this padding should be inlined in the schedule so | ||
# as to avoid input copying. | ||
pad_h = (block_H - ((H + padding[1]) % block_H)) % block_H |
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.
is the second % block_H
necessary?
…8960) * Add hexagon contrib tests for blocked conv2d and maxpool2d * Restructure based on review comments
…8960) * Add hexagon contrib tests for blocked conv2d and maxpool2d * Restructure based on review comments
This PR adds llvm unit tests that demonstrate the scheduling of conv2d and maxpool2d using a packed layout wherein spatial and channel dimensions are split into blocks. These tests can serve as a base off which to develop lowering for hexagon.