Skip to content
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

GPU Batch 12 #1200

Merged
merged 3 commits into from
Sep 17, 2024
Merged

GPU Batch 12 #1200

merged 3 commits into from
Sep 17, 2024

Conversation

mborland
Copy link
Member

@mborland mborland commented Sep 16, 2024

This PR adds support to the airy functions: airy_ai, airy_ai_prime, airy_ai_zero, airy_bi, airy_bi_prime, airy_bi_zero, and the entire ellint family: ellint_1, ellint_2, ellint_3, ellint_d, heuman_lambda, jacobi_zeta, ellint_rf, ellint_rd, ellint_rj, ellint_rc, and ellint_rg. The only outlier in all of this is ellint_3 only supports CUDA (NVCC and NVRTC) and is annotated as such, I couldn't quite figure out how to remove all of the recursion to get SYCL running since there are a large number of edge cases handled in the implementation.

On device testing can be found here: cppalliance/cuda-math#26

CC: @dschmitz89 , @izaid, @steppi

Add SYCL testing of ariy functions

Add CUDA testing of airy functions

Add NVRTC testing of airy functions

Add GPU support to ellint rc

Add GPU support to ellint rd

Add GPU support to ellint rf

Add GPU support to ellint rg

Add GPU support to ellint rj

Add GPU support to ellint d

Add GPU support to ellint_1

Markup forward and add ellint_3 return type def for NVRTC platform

Add CUDA testing of ellint 1

NVRTC fixes

Add NVRTC testing of ellint_1

Add GPU support to ellint_2

Add CUDA testing of ellint_2

Fix NVRTC errors

Add NVRTC testing of ellint_2

Add GPU support to atanh

Add GPU support to ellint_3

Add NVRTC testing of ellint_3

Add CUDA testing of ellint_3

Replace use of static const char*

Add SYCL testing of ellint_1

Add SYCL testing of ellint 2 with slight tolerance bump

Remove recursion from ellint_rj

Add ellint_d CUDA testing

Add NVRTC testing of ellint_d

Add SYCL testing of ellint_d

Remove SYCL ellint_3 support

Update docs

Add GPU support to jacobi zeta

Add CUDA testing of jacobi zeta

Add NVRTC testing of jacobi zeta

Add SYCL testing of jacobi zeta

Add GPU support to heuman_lambda

Add NVRTC testing of heuman lambda

Add CUDA testing of heuman_lambda

Add SYCL testing of heuman lambda

Add markers to docs

Add marker for CUDA only functions in the docs
Copy link

codecov bot commented Sep 16, 2024

Codecov Report

Attention: Patch coverage is 99.25373% with 1 line in your changes missing coverage. Please review.

Project coverage is 93.78%. Comparing base (ff72eaa) to head (dbb547b).
Report is 4 commits behind head on develop.

Files with missing lines Patch % Lines
include/boost/math/special_functions/ellint_rj.hpp 97.36% 1 Missing ⚠️
Additional details and impacted files

Impacted file tree graph

@@             Coverage Diff             @@
##           develop    #1200      +/-   ##
===========================================
- Coverage    93.80%   93.78%   -0.02%     
===========================================
  Files          657      657              
  Lines        53881    53899      +18     
===========================================
+ Hits         50541    50551      +10     
- Misses        3340     3348       +8     
Files with missing lines Coverage Δ
include/boost/math/special_functions/airy.hpp 100.00% <100.00%> (ø)
include/boost/math/special_functions/atanh.hpp 100.00% <100.00%> (ø)
include/boost/math/special_functions/ellint_1.hpp 100.00% <100.00%> (ø)
include/boost/math/special_functions/ellint_2.hpp 100.00% <100.00%> (ø)
include/boost/math/special_functions/ellint_3.hpp 100.00% <100.00%> (ø)
include/boost/math/special_functions/ellint_d.hpp 94.00% <100.00%> (-6.00%) ⬇️
include/boost/math/special_functions/ellint_rc.hpp 100.00% <100.00%> (ø)
include/boost/math/special_functions/ellint_rd.hpp 100.00% <100.00%> (ø)
include/boost/math/special_functions/ellint_rf.hpp 100.00% <100.00%> (ø)
include/boost/math/special_functions/ellint_rg.hpp 100.00% <100.00%> (ø)
... and 15 more

Continue to review full report in Codecov by Sentry.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update ff72eaa...dbb547b. Read the comment docs.

@mborland mborland merged commit c3afa49 into develop Sep 17, 2024
79 checks passed
@mborland mborland deleted the GPU_batch_12 branch September 17, 2024 19:23
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.

1 participant