Skip to content

Conversation

@Use-AIrs
Copy link
Contributor

So now its working.

) -> 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();
Copy link
Contributor Author

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

Copy link
Member

@nathanielsimard nathanielsimard left a 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()`
Copy link
Member

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>,
Copy link
Member

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?

Copy link
Contributor Author

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>,
Copy link
Member

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>,
Copy link
Member

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.
Copy link
Member

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 😄

Copy link
Contributor Author

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

@Use-AIrs
Copy link
Contributor Author

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.

Was thinking to make a Runtime Management on your side, its on the Use-AI.rs site for now. So fixed it like asked :)

@Use-AIrs Use-AIrs closed this Nov 17, 2025
@Use-AIrs Use-AIrs deleted the feat/nccl branch November 17, 2025 17:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants