-
Notifications
You must be signed in to change notification settings - Fork 931
ofi: NIC selection update #11565
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
ofi: NIC selection update #11565
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.
Neither of these patches are unique to mtl/ofi behaviors; they'll change the btl as well. Please update the prefix to be less specific (like just ofi:).
91096eb to
649236a
Compare
|
@amirshehataornl can you separate out pmix/prrte changes? |
649236a to
bebcc61
Compare
bebcc61 to
2c40260
Compare
The existing code in compare_cpusets assumed that some non_io ancestor of a PCI object should intersect with the cpuset of the proc. However, this is not true. There is a case where the non IO ancestor can be an L3. If there exists two L3s on the same NUMA and the process is bound to one L3, but the PCI object is connected to the other L3, then compare_cpusets() will return false. A better way to determine the optimal interface is by finding the distances of the interfaces from the current process. Then find out which of these interfaces is nearest the process and select it. Use the PMIx distance generation for this purpose. Move away from using deprecated PMIX macros and use the functions directly instead. Signed-off-by: Amir Shehata <[email protected]>
2c40260 to
d4e1ae5
Compare
|
Is this ready to go? |
|
yes, this is ready |
The title and commit msg were update to address this review request.
|
@bwbarrett Can you rereview/approve. The changes were made to reflect your feedback. Thanks. |
|
@awlauria this is ready to merge |
ofi: NIC selection update
The existing code in compare_cpusets assumed that some non_io ancestor of a
PCI object should intersect with the cpuset of the proc. However, this is
not true. There is a case where the non IO ancestor can be an L3. If there
exists two L3s on the same NUMA and the process is bound to one L3, but
the PCI object is connected to the other L3, then compare_cpusets() will
return false.
A better way to determine the optimal interface is by finding the
distances of the interfaces from the current process. Then find out which
of these interfaces is nearest the process and select it.
Use the PMIx distance generation for this purpose.
Move away from using deprecated PMIX Macros and use the functions directly.
Avoid some compilation issues due to an error in PMIX code
Signed-off-by: Amir Shehata [email protected]