Add CUDA backend implementation for AddTraceIntegral
Issue/feature addressed
The AddTraceIntegral operator was re-factored as general implementation AddTraceIntegralImpl.hpp
. For the CUDA backend, this introduces repeated device/host and host/device copies. The same problem will occur with a Kokkos-CUDA backend.
Proposed solution
- Full implement the
locTraceToTraceMap
inAddTraceIntegralSerialStdMat.hpp
- Add a specialized CUDA backend
AddTraceIntegralCUDASumFac.cuh
and a specialized Kokkos backendAddTraceIntegralKokkosStdMat.hpp
.
Implementation
Tests
- The existing CUDA test is used to test the proposed new implementation
- The existing Kokkos test is now disable as a Kokkos
IProductWRTBase
operator backend is not yet implemented
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).
Merge request reports
Activity
added mergeredesign label
assigned to @ccantwel
marked the checklist item Contributed code is correctly formatted. (See the contributing guidelines). as completed
- Resolved by Chris Cantwell
@hwustenb Just keeping you in the loop. I have now fully ported the AddTraceIntegral operator for the legacy Nektar++ at the same time as I have implemented the corresponding CUDA backend.
- Resolved by Jacques Xing
- Resolved by Chris Cantwell
added 6 commits
-
772e3b41...2615791b - 4 commits from branch
nektar:feature/redesign
- 87a110d2 - Merge remote-tracking branch 'upstream/feature/redesign' into...
- 6c44b03c - Post-merge fix
-
772e3b41...2615791b - 4 commits from branch
@ccantwel Ready to be merged, compiled with Serial, AVX, CUDA, Kokkos-Serial, Kokkos-CUDA.
added 3 commits
-
6c44b03c...b57a0c4e - 2 commits from branch
nektar:feature/redesign
- a47befda - Merge branch 'feature/redesign' into 'feature/redesign/addtraceintegral-cuda'
-
6c44b03c...b57a0c4e - 2 commits from branch