-
Notifications
You must be signed in to change notification settings - Fork 102
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
TL/UCP: Allow self copy in allgather using network loopback #1021
base: master
Are you sure you want to change the base?
Conversation
Can one of the admins verify this patch? |
5e852a7
to
7e6c55d
Compare
d13b885
to
b3c2e80
Compare
ok to test |
482006f
to
eecdebf
Compare
1d88c9b
to
820794d
Compare
@Sergei-Lebedev why do we have to keep approving runs when force pushing?? Seems an outlier here |
32b3ccd
to
b1c875b
Compare
2dc74f3
to
a2c5fee
Compare
a2c5fee
to
5940100
Compare
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.
Thank you! It Looks good, I left a bunch of comments mainly on codestyle.
However, please add tests for that feature.
Also please note from the CI:
Commit title is too long: 59
Bad commit title: 'TL/UCP: Allow self copy in allgather using network loopback'
@yaeliyac btw, for knomial inplace, we don't expect any change, right? Do we have an explanation for the degradation in the graph? |
6cb2e0e
to
5ba0039
Compare
5619791
to
caa90f8
Compare
caa90f8
to
ee808ea
Compare
ucc_coll_args_t *args = &TASK_ARGS(task); | ||
ucc_tl_ucp_team_t *team = TASK_TEAM(task); | ||
ucc_kn_radix_t radix = task->allgather_kn.p.radix; | ||
ucc_tl_ucp_task_t * task = ucc_derived_of(coll_task, ucc_tl_ucp_task_t); |
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.
suggestion is not to reformat existing code (* symbol), because clang format formats different depending on version, so it is better to leave as before. @samnordmann @Sergei-Lebedev what do you think?
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.
indeed, clang format often does this undesirable reformatting... We should have a long-term fix -- in the meantime I suggest to manually place the "*" where they should
a353504
to
b6d4812
Compare
b6d4812
to
54e86f2
Compare
What
Add option for self copy loopback in out of place start for allgather algorithms: knomial, ring, neighbor, sparbit
Why ?
When using UCC plugin for NCCL, using cuda_memcpy might cause deadlock
How ?
Add UCC_TL_UCP_ALLGATHER_USE_LOOPBACK flag to control this
Tested on ISRAEL-1 with multiple test cases - showed good results and same performance with and without loopback