-
Notifications
You must be signed in to change notification settings - Fork 5
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
Soc descriptor harvesting #202
Conversation
is the idea for tt_xy_pair to have an additional field to denote coordinate type (logical, virtual, physical, etc?) |
I am probably going to derive each type of coordinates from tt_xy_pair, so instead of using tt_logical_coords = tt::umd::tt_xy_pair;
we are going to have derive |
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.
I do not have an accurate mental model for the coordinate systems.. I suspect I am not the only person with this problem. I think that clear definitions of what each of the coordinate systems represent (perhaps with some examples) could go a long way for helping developers build an accurate understanding of coordinates and harvesting.
yes that makes sense, thanks! |
94355d4
to
7f5e04a
Compare
7a1a9ec
to
36c3600
Compare
e3c965e
to
8e99ca0
Compare
a508dac
to
950feee
Compare
6642825
to
d8104e5
Compare
I know this PR is becoming a bit hard to review with a lot of code, so I will separate TODOs left into first class that I will solve in this PR and then merge it, and into second class tasks that I will open issues for and solve it all as separate PRs. I tried thinking about making this PR smaller as well, but I think this is a good base (coordinate conversion API, tests, docs) for harvesting so we can build on top of it. Uplifting this is also going to be seamless since it doesn't change or removes the API, it just adds the functions, so I can make the API function for tt-metal in the following commits. @broskoTT @joelsmithTT let me know if this is ok for you |
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.
If you want to get this in and refine later, that is good with me.
But I maintain the view that it is too difficult to establish a correct understanding of the coordinate schemes from the information available in the repo. Furthermore, I am suspicious that the coordinate situation is overly complex and that there is opportunity for simplification.
a14a415
to
86e2378
Compare
- Coordinate manager class for each arch - Write tests for the harvesting - Add functions to convert between coordinate systems
86e2378
to
847a37d
Compare
- Define base for new harvesting API (coordinate types, translation functions) - Add tests for the harvesting API - Implement Blackhole harvesting requirements
Fix #102, part of a general effort around soc descriptor #100
Goal of the PR is to move harvesting logic to soc descriptor, with clear interface for coordinate translation
Finished TODOs
First class TODOs (will finish in this PR)
UMD client changes
No changes needed for bumping
TODOs with follow up issues (won't fix in this PR)
std::map
for mapping physical coordinates doesn't have big perf penalty -issue [Harvesting] std::map perf for coordinate conversion #222