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 11 #1196

Merged
merged 1 commit into from
Sep 16, 2024
Merged

GPU Batch 11 #1196

merged 1 commit into from
Sep 16, 2024

Conversation

mborland
Copy link
Member

This PR adds two double exponential quadrature routines: sinh_sinh and exp_sinh. To improve the performance the architecture is different with a __device__ only function signature which uses pointers to arrays of pre-calculated coefficients that are stored in shared memory on device. These routines are only supported by NVCC and NVRTC.

Completed on device runs can be found: cppalliance/cuda-math#25

CC: @dschmitz89, @izaid, @steppi

Should the three of you be interested in integrating the quadrature routines from Boost.Math into your projects they were all initially written by @NAThompson. He is more than happy to answer questions about them.

Add function for device only impl

Fix function signatures

Fix arrays

Add basic test for compilation

Allow serial implementation to be run on host under NVCC

Add verification steps

Add arrays of levels coefficient sizes

Cleanup test set

Add double test set

Add structure for the doubles support

Save space by using pointer to different size arrays rather than 2d

Separate the double precision weights into their own arrays

Remove stray call to std::abs

Add NVRTC testing

Add documentation section

Add device function signature for sinh_sinh_integrate

Add float coefficients

Add double coeffs

Add device specific impl

Add sinh_sinh CUDA testing

Add sinh_sinh NVRTC testing
Copy link

codecov bot commented Sep 12, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 93.80%. Comparing base (937107a) to head (b5214b5).
Report is 2 commits behind head on develop.

Additional details and impacted files

Impacted file tree graph

@@           Coverage Diff            @@
##           develop    #1196   +/-   ##
========================================
  Coverage    93.80%   93.80%           
========================================
  Files          657      657           
  Lines        53881    53881           
========================================
  Hits         50541    50541           
  Misses        3340     3340           
Files with missing lines Coverage Δ
...e/boost/math/quadrature/detail/exp_sinh_detail.hpp 93.42% <ø> (ø)
include/boost/math/quadrature/exp_sinh.hpp 85.71% <ø> (ø)

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 937107a...b5214b5. Read the comment docs.

@mborland mborland merged commit 885fd95 into develop Sep 16, 2024
79 checks passed
@mborland mborland deleted the GPU_Batch_11 branch September 16, 2024 12:41
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