-
Notifications
You must be signed in to change notification settings - Fork 13
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
TTNNLayout does not model DRAM, height and width sharding correctly #1628
Comments
@odjuricicTT I just want to check if I understand how shard size should be calculated in case of sharding.
Is above correct for both L1 and DRAM? |
@mtopalovicTT Yes that is correct for L1. DRAM sharding does not exist in that sense. DRAM cores are totally separate from tensix cores and are not part of the "grid" that we model with GridAttr. There are 12 dram cores in total. There are references to "DRAM sharded" tensors in metal / ttnn, but this is something different used by only one specific op. |
@odjuricicTT I see. So let me try to capture everything:
if above is correct then we need to change memref to some new attribute lets say |
Yes, that is correct. I think that we currently use memref shape as the shard shape. This is correct for sharded tensors and L1 interleaved as well. For DRAM interleaved, we just default to block sharded logic and get a memref that does not make sense. One option is that for DRAM we set GridAttr to some None value and have the memref shape be the same as the tensor shape. |
When we create a TTNNLayout memref we split the tensor onto the GridAttr that is provided. The current logic models what happens when the tensor is block sharded which might not be correct in all cases. Support for L1 interleaved is being added #1607. Further investigation is needed for the rest of tensor memory layout options.
The text was updated successfully, but these errors were encountered: