-
Notifications
You must be signed in to change notification settings - Fork 118
Feat/nccl #846
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
Feat/nccl #846
Conversation
| ) -> ComputeClient<Server, Channel> { | ||
| // To get the supported WMMA features, and memory properties, we have to initialize the server immediately. | ||
| #[cfg(not(feature = "nccl"))] | ||
| cudarc::driver::result::init().unwrap(); |
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.
cudarc::driver::result::init().unwrap(); is not longer handled with nccl feat
nathanielsimard
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.
I've got a few comments, but it looks quite clean.
I think a bit of docs on the output: Option<&Handle> would help.
Also, LazyNccl could become NcclGroup maybe? Since that's how you name the variables.
| @@ -0,0 +1,586 @@ | |||
| //* WITH THIS MODULE `cudarc::driver::result::init().unwrap();` IS NOT LONGER HANDLES BY `CudaRuntime::create_clien()` | |||
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.
typo client
| pub fn all_reduce<N: Float + CubeElement>( | ||
| &self, | ||
| input: &Handle, | ||
| output: Option<&Handle>, |
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.
When the output should be provided?
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.
Deleted it, was inplace or not inplace ...
| pub fn broadcast<N: Float + CubeElement>( | ||
| &self, | ||
| input: &Handle, | ||
| output: Option<&Handle>, |
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.
Same question
| pub fn reduce<N: Float + CubeElement>( | ||
| &self, | ||
| input: &Handle, | ||
| output: Option<&Handle>, |
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.
Same
| cudarc::nccl::result::group_end().unwrap(); | ||
| } | ||
|
|
||
| /// Assumes the `handles` vecotor got a `Handle` for each device in order of the rank. |
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.
typo: vecotor it's a nice one 😄
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 am not only dyslexic but also bad typer ... at least i understand code xD
Was thinking to make a Runtime Management on your side, its on the Use-AI.rs site for now. So fixed it like asked :) |
So now its working.