-
Notifications
You must be signed in to change notification settings - Fork 8
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
TTDevice init #359
TTDevice init #359
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.
Nice, left a few nit comments
So even if this PR is not changing the API to the clients, I would like to see tt-metal post commit pipeline pass with all this changes. I guess our tests are testing the correctness well enough (apart from Galaxy), but I would like to make sure that perf is not worse with all of this layering. And metal has a lot of tests that would confirm this |
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.
PCIDevice should hold only non-arch specific code, except getting the arch itself
The conventions for how BAR0 and BAR4 are mapped are architecture-specific. Is the plan for TTDevice implementations to manage these mappings?
If KMD starts enforcing proper resource management for inbound TLB windows and the firmware messaging interface, is the TTDevice abstraction still necessary?
Scheduled.
For BARs, I'll have to think about it more. The mapping itself no. But how they are used, e.g. which one is used for system_register access, etc, possibly yes. |
3e15382
to
48ef493
Compare
48ef493
to
0f466e7
Compare
Issue
Related to #98
Description
Initial TTDevice class. It holds PCIDevice and arch implementation.
Gradually, I'd like to move all branches on arch type to be moved from cluster and pci_device to tt_device, and that class to be the only one in the stack which offers different implementation for each arch. According to: https://docs.google.com/drawings/d/1-m1azdsBqMA0A6ATYRMfkhyeuOJuGCEI62N5a96LXj0/edit
List of the changes
Testing
Existing CI tests should be enough.
API Changes
There are no API changes in this PR.
But I scheduled post commit tests just to be sure.