-
Notifications
You must be signed in to change notification settings - Fork 12
Implement create ethernet map #722
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
base: main
Are you sure you want to change the base?
Conversation
@TTDRosen can't tag you in reviewers |
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.
Looks like a good first step towards removing CEM lib.
} | ||
|
||
void TopologyDiscovery::discover_remote_chips() { | ||
const uint64_t conn_info = 0x1200; |
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 that FW ever changes its layout will these will have to get updated? Should the code do a version check of the FW to ensure that both sides are in agreement?
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 think there is already different layout, but I think it's for different layouts. Wanted to ping @TTDRosen about this specifically to comment how much is this going to change in the future fw releases
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.
Should the code do a version check
But you can't make this future proof? If this code works on current FW version, you probably shouldn't blindly block it from working on future versions of FW, maybe nothing will change, maybe there will be a breaking change. There could be a "minimum version" though
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.
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.
What I settled into was not hardcoding any of the offsets and selecting them based on the fw version (implementation). The layout should not change but from what you can see in the luwen code that has not played out well in practice. Though I agree with Bojan I think you can pretty confidently accept a minimum supported ethernet version to help simplify this logic.
Some of the problem is due to really poor interfaces between SW and FW which leads to it not being clear to HSIO what should be considered public/private interfaces and therefore incorrect usage of semver. Specifically meaning these interfaces changing without major version bumps.
451194b
to
0476d9e
Compare
} | ||
|
||
void TopologyDiscovery::discover_remote_chips() { | ||
const uint64_t conn_info = 0x1200; |
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.
Should the code do a version check
But you can't make this future proof? If this code works on current FW version, you probably shouldn't blindly block it from working on future versions of FW, maybe nothing will change, maybe there will be a breaking change. There could be a "minimum version" though
228f76b
to
333f3ad
Compare
Issue
#73 #625. This PR is not going to close any of these issues, just a big part in working towards closing it.
Description
Implement topology discovery class for Wormhole with old routing fw. This class should have the same functionality as CEM lib from luwen. The idea is to replace CEM lib with our own implementation. In order to do so, we need to secure wait on ARC, ETH and DRAM, same as we did for Blackhole. #723 #724
Blackhole and 6U topology discovery should be moved to this class as well. I just wanted to keep the scope of this PR smaller.
List of the changes
Testing
Topology discovery is still not integrated into main UMD code path. Manually tested on N150, N300, T3K and TG configs.
API Changes
/