-
Notifications
You must be signed in to change notification settings - Fork 226
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
NVRTC Batch 5 #1180
NVRTC Batch 5 #1180
Conversation
This is really, really great! Thanks!! |
Same here, on behalf of the Python community, thank you very much, this whole undertaking will be an important step for reusable special functions throughout the ecosystem! |
Only CI failure is a bad connect downloading packages. Should be safe to merge. |
Excellent! I'll start looking into getting this working in CuPy. |
Let us know how it goes and feel free to ping us with issues you find. |
Finally, we have enough foundation on NVRTC that we can now add distributions.
Adds NVRTC support to: arcsine dist, bernoulli dist, cauchy dist, exponential dist, extreme value dist, holtsmark dist, landau dist, laplace dist, logistic dist, mapairy dist, and saspoint5 dist. This is the same support that currently exists for NVCC
Replaces the use of
thurst::pair
withcuda::std::pair
so that it works with NVRTC. Implement our own versions ofcuda::std::forward
andcuda::std::make_tuple
since they are missing from libcu++.NVRTC support is almost in line with what is supported in NVCC and SYCL minus a few outstanding special functions that are not in the libcu++ library. Those will be in the next batch so that development moving forward will apply to all platforms at once rather than piecemeal.
Completed CI runs on device can be found at: cppalliance/cuda-math#13
CC: @steppi, @izaid, @dschmitz89