ArborX/Kokkos initialize/finalize interaction

Created by: aprokop

Kokkos has to be initialized prior to the first ArborX call.

  1. DTK has its own DTK_init(), DTK_finalize() calls, that support arguments (argc, argv)
  2. kokkos/fortran-interop has C interface kokkos_initialize (inside a C++ file, calls Kokkos::initialize()), and a Fortran interface that binds to that.

As C/Fortran interface are not part of the kokkos/kokkos, and we don't want to depend on any extra repos, we have two alternatives:

  • provide some init/finalize calls in ArborX
  • Check for Kokkos initialization in the routines that interface with a user, and do initialization on the fly (no finalization, though...)

Opinions?