Improve CUDA compilation
Issue/feature addressed
Various issues caused by enabling Cuda in the redesign, particularly in relation to different flags being applied across host and device phases of compilation, e.g. MSVC flags were mistakenly being used by nvcc during the device compilation phase
Proposed solution
Separate Cmake file added for managing Cuda
Implementation
Activate redesign on win10
, default
and full
built CI.
CMake generator expressions to apply the correct flags for different combinations of compiler and language
pthreads flag in NektarCommon only added when language=C++
Cuda headers given .cuh extension to facilitate easy inclusion
Tweaks to CI to prevent uncompiled files warning
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).