Skip to content

Conversation

@mborland
Copy link
Member

@mborland mborland commented Aug 14, 2024

Adds support for: sin_pi, cos_pi, erf, erfc, erf_inv, erfc_inv, digamma, and numerical constants.

In order to get the policies working properly (tested via digamma) I added a section to error handling specific to NVRTC platforms. Effectively all policies become ignore_error because throwing and run time assertions are disallowed. I also applied the changes form #1022 to significantly simplify the promotion system, and make it properly usable for CUDA systems. I believe after this PR the door is open for most of the functions that are not already in libcu++ with digamma being the first proof of concept.

The changes to enable the numerical constants assumes that nobody is using anything bigger than double on device. I doubt we need big numbers on device, but we can address it in the future if someone opens an issue.

Completed CI runs can be found here: cppalliance/cuda-math#12

CC: @jzmaddock since this one is contains actual significant changes unlike most of the CUDA PRs.

@mborland
Copy link
Member Author

CI Failures are a few failures to clone. As always should be safe to merge.

@mborland mborland merged commit 5a4f8ba into develop Aug 15, 2024
@mborland mborland deleted the NVRTC_4 branch August 15, 2024 15:05
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