-
Notifications
You must be signed in to change notification settings - Fork 10
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
Complex number wrapper #56
Comments
I'm not a user of NCCL.jl myself, so cc @avik-pal @simonbyrne. |
I am honestly okay with either. I suggested opening this issue because having it here makes it easier for downstream libraries (other than Lux when/if they want to use NCCL). But if we want to keep this NCCL.jl wrapper simple and provide functionality nccl natively provides, we can implement this in Lux. Let's wait for @simonbyrne's opinion. Since he did most of the work getting this package back to life. |
That seems fine. Note that you don't want to use I think the easiest solution:
|
Maybe don't tie it to |
@simonbyrne Does your above implementation not take care of unified memory automatically? My understanding of unified memory is that it's just a subtype of cuarray, i.e. something like CuArray{T, N, CUDA.UnifiedMemory}. |
Unified memory can also be exposed as an |
NCCL does not support complex numbers directly and does not plan to (see issue). Are we willing to add a wrapper to NCCL.jl to make using complex numbers more convienient? Alternatively, the wrapper could be put in a higher level package (ex. Lux.jl, see issue). I am happy to start working on this but would like some feedback if possible. My primary motivation is using neural networks with complex valued weights and this feature would greatly simplify things.
The text was updated successfully, but these errors were encountered: