Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Move Tpetra::Details::OrdinalTraits to KokkosKernels #22

Closed
mhoemmen opened this issue Mar 28, 2017 · 1 comment
Closed

Move Tpetra::Details::OrdinalTraits to KokkosKernels #22

mhoemmen opened this issue Mar 28, 2017 · 1 comment
Assignees

Comments

@mhoemmen
Copy link
Contributor

Story: #1

KokkosSparse::Impl::getDiagCopyWithOffsets depends on it, but it lives in Tpetra. It's only a coincidence that the function builds correctly (probably because Tpetra is currently the only consumer of this file, and Tpetra must include the header file with OrdinalTraits before including the header file defining that function).

@mhoemmen mhoemmen self-assigned this Mar 28, 2017
mhoemmen pushed a commit that referenced this issue Mar 29, 2017
KokkosSparse::Impl::getDiagCopyWithOffsets used to depend on
Tpetra::Details::OrdinalTraits, which lives in TpetraCore.  This
dependency is incorrect, because TpetraCore depends on KokkosKernels,
not the other way around.

I fixed this by copying Tpetra::Details::OrdinalTraits into
KokkosKernels as the traits class KokkosSparse::OrdinalTraits, and
changing getDiagCopyWithOffsets to depend on the new traits class.

This commit fixes the following issue:
#22
@mhoemmen
Copy link
Contributor Author

I pushed a fix to both develop and unify_eti, in case a develop->master->Trilinos snapshot occurs before we finish the unify_eti branch.

mhoemmen pushed a commit to trilinos/Trilinos that referenced this issue Mar 29, 2017
KokkosSparse::Impl::getDiagCopyWithOffsets used to depend on
Tpetra::Details::OrdinalTraits, which lives in TpetraCore.  This
dependency is incorrect, because TpetraCore depends on KokkosKernels,
not the other way around.

I fixed this by copying Tpetra::Details::OrdinalTraits into
KokkosKernels as the traits class KokkosSparse::OrdinalTraits, and
changing getDiagCopyWithOffsets to depend on the new traits class.

This commit fixes the following issue:
kokkos/kokkos-kernels#22

Build/Test Cases Summary
Enabled Packages: KokkosKernels, TpetraCore
Disabled Packages: FEI,PyTrilinos,Moertel,STK,SEACAS,ThreadPool,OptiPack,Rythmos,Intrepid,ROL,Panzer
0) MPI_RELEASE_DEBUG_SHARED_PT => Test case MPI_RELEASE_DEBUG_SHARED_PT was not run! => Does not affect push readiness! (-1.00 min)
1) MPI_DEBUG => passed: passed=132,notpassed=0 (1.34 min)
2) SERIAL_RELEASE => passed: passed=98,notpassed=0 (0.42 min)
mhoemmen pushed a commit to trilinos/Trilinos that referenced this issue Mar 29, 2017
@trilinos/tpetra My previous commit fixed the following KokkosKernels
issue:

kokkos/kokkos-kernels#22

Note matching commits (which _actually_ fixed the issue) in both the
develop and unify_eti branches of KokkosKernels.

_This_ commit, in order to avoid code duplication, removes the
implementation of Tpetra::Details::OrdinalTraits from Tpetra.  For
backwards compatibility, I retained the header file
Tpetra_Details_OrdinalTraits.hpp, and just imported
KokkosSparse::OrdinalTraits into the Tpetra::Details namespace.  The
set of included headers should not have changed.

Build/Test Cases Summary
Enabled Packages: TpetraCore
Disabled Packages: FEI,PyTrilinos,Moertel,STK,SEACAS,ThreadPool,OptiPack,Rythmos,Intrepid,ROL,Panzer
Enabled all Forward Packages
0) MPI_RELEASE_DEBUG_SHARED_PT => Test case MPI_RELEASE_DEBUG_SHARED_PT was not run! => Does not affect push readiness! (-1.00 min)
1) MPI_DEBUG => passed: passed=698,notpassed=0 (36.81 min)
2) SERIAL_RELEASE => passed: passed=615,notpassed=0 (34.69 min)
@crtrott crtrott closed this as completed in f87a605 Apr 3, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant