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 6 #1184

Merged
merged 1 commit into from
Aug 22, 2024
Merged

GPU Batch 6 #1184

merged 1 commit into from
Aug 22, 2024

Conversation

mborland
Copy link
Member

@mborland mborland commented Aug 20, 2024

Adds unified GPU support for the bessel functions: cyl_bessel_j, sph_bessel, sph_bessel_j, cyl_bessel_i, cyl_bessel_k, cyl_neumann, and sph_neumann with all the associated detail functions (e.g. bessel_i0, bessel_i1, etc).

Adds an array header to detect when to use cuda::std::array or std::array to support the use of factorials. Also adds preliminary support for Newton Rhapson on device, but @NAThompson and I think it can be improved.

Completed CI runs on device can be found here: cppalliance/cuda-math#16

CC: @steppi, @izaid, and @dschmitz89

Add GPU support to bessel_i0

Add CUDA and NVRTC testing

Add GPU support to bessel_i1

Add CUDA and NVRTC testing of bessel_i1

Add tgamma1pm1 NVRTC impl

Add GPU support to iconv

Add GPU test to bessel_ik

Add SYCL testing of complete bessel_i

Add GPU support to bessel_j0

Ignore BOOST_MATH_INSTRUMENT_VARIABLE on NVRTC

Add bessel J0 CUDA and NVRTC testing

Add GPU support to bessel_j1

Add bessel j1 CUDA and NVRTC testing

Add GPU support to bessel jn and jy

Add SYCL bessel j testing

Add bessel_k0 GPU support

Add bessel_k0 CUDA and NVRTC testing

Add GPU support to bessel_k1

Add bessel_k1 CUDA and NVRTC testing

Add GPU support to bessel_kn

Add bessel_kn CUDA and NVRTC testing

Add SYCL testing of complete bessel_k

Make newton-rhapson GPU compatible

Make the completed bessel functions GPU compatible

Add SYCL bessel y testing

Apply changes for non-empty policy on CUDA

Add NVCC cyl_bessel_i testing

Add GPU support to sinc

Add GPU support to series functions

Add GPU support to bessel_jy_zero

Add array helper type

Make hypot GPU safe

Make bessel_yX GPU capable

Add bessel_y0 and bessel_y1 CUDA testing

Add nvrtc testing of bessel_y0 and bessel_y1

Fix macros

Add missing header

Add missing header

Markup iconv

Add iround for NVRTC

Add tgamma1pm1 with policy overload for NVRTC

Disable header

Fix factorial support for CUDA platforms

Add definition of bessel traits

Add cyl_bessel_i NVRTC testing

Fix cyl_bessel_jy warnings

Fix CUDA forward declarations

Fix maybe-unused variable warning

Add CUDA cyl_bessel_j testing

Add sign overload for lgamma

Fix warnings

Add NVRTC cyl_bessel_j testing

Add NVCC sph_bessel testing

Add NVRTC testing of sph_bessel

Add NVRTC testing of cyl_bessel_k

Add NVCC testing of cyl_bessel_k

Add NVCC testing of cyl_neumann

Add NVRTC cyl_neumann testing

Add NVRTC sph_neumann testing

Add NVCC sph_neumann testing
Copy link

codecov bot commented Aug 20, 2024

Codecov Report

Attention: Patch coverage is 97.51037% with 6 lines in your changes missing coverage. Please review.

Project coverage is 94.06%. Comparing base (1d40454) to head (047c206).
Report is 2 commits behind head on develop.

Files Patch % Lines
include/boost/math/special_functions/expm1.hpp 83.33% 3 Missing ⚠️
include/boost/math/tools/roots.hpp 84.21% 3 Missing ⚠️
Additional details and impacted files

Impacted file tree graph

@@           Coverage Diff            @@
##           develop    #1184   +/-   ##
========================================
  Coverage    94.06%   94.06%           
========================================
  Files          780      780           
  Lines        65796    65815   +19     
========================================
+ Hits         61891    61910   +19     
  Misses        3905     3905           
Files Coverage Δ
include/boost/math/special_functions/bessel.hpp 100.00% <100.00%> (ø)
.../math/special_functions/detail/airy_ai_bi_zero.hpp 92.00% <100.00%> (ø)
.../boost/math/special_functions/detail/bessel_i0.hpp 100.00% <100.00%> (ø)
.../boost/math/special_functions/detail/bessel_i1.hpp 100.00% <100.00%> (ø)
.../boost/math/special_functions/detail/bessel_ik.hpp 100.00% <100.00%> (ø)
.../boost/math/special_functions/detail/bessel_j0.hpp 100.00% <100.00%> (ø)
.../boost/math/special_functions/detail/bessel_j1.hpp 100.00% <100.00%> (ø)
.../boost/math/special_functions/detail/bessel_jn.hpp 100.00% <100.00%> (ø)
.../boost/math/special_functions/detail/bessel_jy.hpp 100.00% <100.00%> (ø)
...t/math/special_functions/detail/bessel_jy_asym.hpp 100.00% <100.00%> (ø)
... and 28 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 1d40454...047c206. Read the comment docs.

@mborland mborland merged commit 8d92f8f into develop Aug 22, 2024
79 checks passed
@mborland mborland deleted the GPU_Batch_6 branch August 22, 2024 14: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.

1 participant