Adds Kokkos implementations for a number of scatter and gather specializations necessary for optimization cases to work on GPU when there is no unified virtual memory.
Adds Kokkos implementation for ResponseSquaredL2DifferenceSide that is used in a number of optimization cases to work on uvm-free GPU builds
Updates the scatter unit tests to use Thyra multivectors instead of vectors. There are downstream issues when casting Thyra vectors to multivectors that were exposed by my changes so these tests had to be updated.
Makes some of the DOFManager's internal data available as Kokkos Views to be device accessible.
I'm going to do some performance profiling to get an idea of what impact these changes have on performance but the code is ready for review in the meantime.
This PR does the following:
I'm going to do some performance profiling to get an idea of what impact these changes have on performance but the code is ready for review in the meantime.