-
Notifications
You must be signed in to change notification settings - Fork 14
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
Inconsistency of TTNN ops interface #1734
Comments
Can we subtask this. We can start checking if I64 is possible and change it throughout the compiler.
This is more feedback for metal right? |
This is all feedback for metal. |
Yeah, more or less, it doesn't make much sense to work on these things if they are going to stay in Metal as-is. That point is the particular pain point that repeats a lot during an uplift. Btw, if anybody remembers anything else that's important you can edit the opening post so that we have these points in one place. |
This issue is the remainder of some inconsistencies spotted in interfaces of TTNN ops. Some of those things can only be fixed on the Metal side, some can be mitigated on our side until they are (if ever) fixed. Fill free to add other things that you have spotted in comments.
DenseIXArrayAttr
when TTNN usesstd::vector<unsigned X>
and then verify that all of the elements are non-negative. As we discussed offline, probably the best course of action would be some kind of attribute constraint that would automatically do it for us. This solution comes with a downside that we lose half of the range (1 bit), but we don't expect it to have an impact in practice.vector
vsSmallVector
vsspan
: There should be a single way to represent a (dynamic) array of elements. Thespan
is an ideal option as it represents an interface rather than a class, but evenstd::vector
orSmallVector
are okay if they are used consistently.FYI @sdjordjevicTT @svuckovicTT @mtopalovicTT @jserbedzijaTT
The text was updated successfully, but these errors were encountered: