forked from trilinos/Trilinos
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Intrepid2: UVM-free MonolothicExecutable Tests (trilinos#8852)
Intrepid2: UVM-free MonolothicExecutable Tests (trilinos#8852) ## Motivation This PR adds DeviceType compatibility to the newer Intrepid2 container types, including: - BasisValues - CellGeometry - Data - ProjectedGeometry - TensorData - TensorPoints - TransformedVectorData - VectorData In addition, the new DeviceType compatibility is exercised in all the tests in MonolothicExecutable, replacing earlier use of `Kokkos::DefaultExecutionSpace` with the `DefaultTestDeviceType` defined in `Intrepid2_TestUtils.hpp`, which resolves to a UVM-free DeviceType on CUDA, and the Kokkos default DeviceType on other platforms. Thus, the tests in MonolothicExecutable now run UVM-free on CUDA. Along the way, a couple other notable changes were necessary: - Added a `DeviceType` typedef to the Basis base class. This is defined as whatever the Basis was instantiated with (so it may be a non-device-type ExecutionSpace); this is useful when setting the types for BasisValues, etc., in derived classes. - Because some CellTools is not yet fully compatible with DeviceType, but the tests in MonolithicExecutable are using DeviceType-templated containers for methods in CellTools, we need to allow CellTools to be templated on a DeviceType; to avoid cascading to all of CellTools, we add an ExecSpaceType typedef defined in terms of the DeviceType; this is used for all types in CellTools methods besides the ones required by the present PR. This is inelegant, and a temporary solution until we complete the CellTools conversion. I can confirm that it does build and pass tests under CUDA on vortex. ## Related Issues - Part of trilinos#8310. ## Testing This PR includes extensive tests. Additionally, tests have been manually verified to pass on vortex (CUDA release build) and on Intel serial debug (under MacOS).
- Loading branch information
1 parent
25b5b54
commit c270fa0
Showing
42 changed files
with
1,652 additions
and
1,504 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.