-
Notifications
You must be signed in to change notification settings - Fork 103
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
Fix MaxPool Block / Width Sharding with Large Kernels / Wide Reductions #14531
Conversation
…s and wide reductions
8b1f490
to
ecc2bd0
Compare
ttnn/cpp/ttnn/operations/pool/maxpool/device/kernels/compute/max_pool_multi_core.cpp
Show resolved
Hide resolved
.../device/kernels/dataflow/reader_max_pool_2d_multi_core_sharded_with_halo_large_kernel_v2.cpp
Outdated
Show resolved
Hide resolved
...ool/maxpool/device/kernels/dataflow/reader_max_pool_2d_multi_core_sharded_with_halo_wide.cpp
Outdated
Show resolved
Hide resolved
ttnn/cpp/ttnn/operations/pool/maxpool/device/max_pool2d_multi_core_program_factory.cpp
Outdated
Show resolved
Hide resolved
if (is_large_kernel) { | ||
uint32_t max_pool_partials_cb_id = tt::CB::c_intermed1; // max_pool partials | ||
uint32_t max_pool_partials_cb_pagesize = in_cb_sz; | ||
uint32_t max_pool_partials_cb_pagesize = out_cb_pagesize; |
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.
Minor comment, This variable should be min(out_cb_pagesize, TILE_SIZE8nbytes).
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.
Hey looks like a small typo, I updated it to min(out_cb_pagesize, TILE_SIZE * 8 * out_nbytes);
, let me know if this isn't what you meant!
...cpp/ttnn/operations/pool/maxpool/device/kernels/compute/max_pool_multi_core_large_kernel.cpp
Outdated
Show resolved
Hide resolved
.../device/kernels/dataflow/reader_max_pool_2d_multi_core_sharded_with_halo_large_kernel_v2.cpp
Show resolved
Hide resolved
…ns (tenstorrent#14531) * tenstorrent#14249: Fixed bug for width and block sharding with large kernel sizes and wide reductions
For Block and Width Sharding with large kernels, Max Pool produced incorrect results. This has been fixed, plus support has been added for large kernels with wide reductions which was previously untested.
Ticket
Link to Github Issue
Problem description
When block and width sharding functionality was introduced the large reader and compute kernels were not updated and these cases were not covered by test cases. Additionally, the large kernels did not support wide reductions.
What's changed
Checklist