Update CUDAMathKernels.cuh
Issue/feature addressed
- Encaspulate
CUDAMathKernels
kernel launches in unit test in separate.cu
file to fix compilation problems due to incompatibility between nvcc and BOOST - Reactivate CUDAMathKernels boost unit test
- Update
dotKernel
by using warp level primitive__shfl_down_sync
Proposed solution
Implementation
The implementation of dotKernel
is based on
- Implementation based on reduce6 of "Ansorge, R. (2022). Programming in parallel with CUDA: a practical guide. Cambridge University Press."
- https://developer.nvidia.com/blog/using-cuda-warp-level-primitives
Tests
Suggested reviewers
Please suggest any people who would be appropriate to review your code.
Notes
Please add any other information that could be useful for reviewers.
Checklist
-
Functions and classes, or changes to them, are documented. [ ] User guide/documentation is updated.[ ] Changelog is updated.-
Suitable tests added for new functionality. -
Contributed code is correctly formatted. (See the contributing guidelines). -
License added to any new files. -
No extraneous files have been added (e.g. compiler output or test data files).
Edited by Jacques Xing