[Trilinos-Users] Pkg & link line change: KokkosKernels replaces TpetraKernels

Hoemmen, Mark mhoemme at sandia.gov
Wed Mar 1 11:13:33 EST 2017


Hi all!  Christian Trott, Kokkos and Trilinos (and LAMMPS and …) developer extraordinaire, would like to announce the following changes:

1. TpetraKernels subpackage renamed to KokkosKernels package. Paths and link line must change.
2. New software package KokkosKernels: https://github.com/kokkos/kokkos-kernels
3. KokkosKernels will be snapshotted into Trilinos, just like Kokkos
4. KokkosKernels is a separate product from Kokkos and Trilinos, despite sharing some developers

The TpetraKernels subpackage of Tpetra, has become its own KokkosKernels package. Thus, if you were using “-ltpetrakernels” on your link line directly (never a good idea), please change it to “-lkokkoskernels”.  Likewise, if you were referring to library or header paths directly, please change them.  Christian found it easier just to remove TpetraKernels, than to try to make TpetraKernels and KokkosKernels coexist.  He sends his regrets for any inconvenience this might cause.

KokkosKernels is a new public software package.  It implements local (within an MPI process) thread-parallel computational kernels.  It has a required dependency on Kokkos, and may have optional dependencies on third-party libraries like the BLAS, LAPACK, MKL, cuBLAS, or cuSPARSE.  KokkosKernels has the same license as Kokkos and lives in Kokkos’ GitHub repository.  It has the same two-repository (develop / master) development model as Kokkos and Trilinos. KokkosKernels exists to encourage encapsulation of thread-parallel computational kernels, and to make external (outside of Trilinos) use and contributions easier.

Just as Kokkos gets snapshotted into Trilinos, KokkosKernels will be snapshotted into Trilinos.  If you make changes to the snapshot, those changes WILL DISAPPEAR at the next snapshot.  Snapshots may occur at any time.  You are allowed to make changes to the snapshot in Trilinos as a temporary bugfix measure, though.  If you want to change KokkosKernels in a permanent way, you must submit a pull request from the develop branch of KokkosKernels.  This works just like with Kokkos.  Please move all GitHub issues regarding KokkosKernels from the Trilinos’ GitHub site to KokkosKernels’ GitHub site (you may retain the Trilinos issue just to help customers track, but please close it once the KokkosKernels issue closes).

KokkosKernels is a separate product from Kokkos and Trilinos, despite sharing some developers.  Please advertise KokkosKernels, not Kokkos or Trilinos, as the source of local (within an MPI process, not depending on MPI) thread-parallel computational kernels.  This will help reduce the incorrect impression that the Kokkos developers are responsible for thread-parallelizing everything, everywhere.  Kokkos is a programming model.  It doesn’t solve your problems.  _YOU_ use _IT_ to solve your problems.  KokkosKernels is part of that solution for Trilinos.

Thanks all!
mfh




More information about the Trilinos-Users mailing list