Remove Kokkos from Outward-Facing API
Although Kokkos is still a critical implementation detail, the outward-facing API of Cabana a user sees should be Kokkos-independent. For the most part, this really just means masking their portability macros (e.g. KOKKOS_INLINE_FUNCTION
) with our own (e.g. CABANA_INLINE_FUNCTION
) and providing our own initialize/finalize interfaces. From a user's point of view, we will need to document that our macros simply annotate functions with things like, for example, __host__ __device__
where appropriate.