-
-
Notifications
You must be signed in to change notification settings - Fork 657
Modify all_reduce to take group
#2712
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
Conversation
| if group is not None: | ||
| if not isinstance(group, hvd.ProcessSet): | ||
| raise ValueError("Argument group should be list of int or ProcessSet") | ||
| hvd.init(process_sets=[group]) |
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.
@puhuk do you know what hvd.init(process_sets=[group]) does ?
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.
Isn't it initialize the horovod to take process_sets with specified process set like group ?
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.
and how it works if horovod is already initialized ?
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.
It sets up the horovod backend again by calling _setup_process_sets. So it should not be called after already initialized ?
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.
you have to check that
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 are two options in initializing horovod
- Static initialization like
hvd.init(process_sets= ~~)--> In this case, when initialized, process_set can not be changed - Dynamic process set like
hvd.init(process_sets="dynamic")--> In this case, process set can be altered dynamically
vfdev-5
left a comment
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 ok, thanks @puhuk
Description: Modify all_reduce to take
groupCheck list: