-
Notifications
You must be signed in to change notification settings - Fork 563
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
Sacado: Band-aid fix for LayoutContiguous #13392
Sacado: Band-aid fix for LayoutContiguous #13392
Conversation
41c7de0
to
db5b706
Compare
@masterleinad I'm going to repoint your PR against develop |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Resetting the target branch to develop clobbered the previous review, reapproving
Ah, I got used to |
Status Flag 'Pre-Test Inspection' - SUCCESS: The last commit to this Pull Request has been INSPECTED by label AT: PRE-TEST INSPECTED! Autotester is Removing Label; this inspection will remain valid until a new commit to source branch is performed. |
Status Flag 'Pull Request AutoTester' - Testing Jenkins Projects: Pull Request Auto Testing STARTING (click to expand)Build InformationTest Name: PR_gcc-openmpi-openmp
Jenkins Parameters
Build InformationTest Name: PR_gcc
Jenkins Parameters
Build InformationTest Name: PR_gcc-openmpi_debug
Jenkins Parameters
Build InformationTest Name: PR_clang
Jenkins Parameters
Build InformationTest Name: Trilinos_PR_python3
Jenkins Parameters
Build InformationTest Name: PR_cuda
Jenkins Parameters
Build InformationTest Name: PR_intel
Jenkins Parameters
Build InformationTest Name: PR_cuda-uvm
Jenkins Parameters
Using Repos:
Pull Request Author: masterleinad |
Status Flag 'Pull Request AutoTester' - Jenkins Testing: all Jobs PASSED Pull Request Auto Testing has PASSED (click to expand)Build InformationTest Name: PR_gcc-openmpi-openmp
Jenkins Parameters
Build InformationTest Name: PR_gcc
Jenkins Parameters
Build InformationTest Name: PR_gcc-openmpi_debug
Jenkins Parameters
Build InformationTest Name: PR_clang
Jenkins Parameters
Build InformationTest Name: Trilinos_PR_python3
Jenkins Parameters
Build InformationTest Name: PR_cuda
Jenkins Parameters
Build InformationTest Name: PR_intel
Jenkins Parameters
Build InformationTest Name: PR_cuda-uvm
Jenkins Parameters
|
Status Flag 'Pre-Merge Inspection' - SUCCESS: The last commit to this Pull Request has been INSPECTED AND APPROVED by [ ndellingwood ]! |
Status Flag 'Pull Request AutoTester' - AutoMerge IS ENABLED, but the Label AT: AUTOMERGE is not set. Either set Label AT: AUTOMERGE or manually merge the PR... |
For intel icpc compilers use inline constexpr rather than static constexpr for is_same_v specialization introduced in trilinos#13392 This is to workaround intel ICE issues that should not be related to the change but occur when building Trilinos with or without Kokkos' develop branch Error output sample: ``` /home/ndellin/trilinos/Trilinos/packages/sacado/test/UnitTests/ConditionalReturnTypeTest.cpp(48): internal error: assertion failed at: "il.c", line 10434 in trans_unit_for_source_corresp ```
For intel icpc compilers use inline constexpr rather than static constexpr for is_same_v specialization introduced in #13392 This is to workaround intel ICE issues that should not be related to the change but occur when building Trilinos with or without Kokkos' develop branch Error output sample: ``` /home/ndellin/trilinos/Trilinos/packages/sacado/test/UnitTests/ConditionalReturnTypeTest.cpp(48): internal error: assertion failed at: "il.c", line 10434 in trans_unit_for_source_corresp ```
@trilinos/sacado
Fixes kokkos/kokkos#7258.
Sacado
definesContiguousLayout
in theKokkos
namespace, seetrilinos/Trilinos@2ad2602/packages/sacado/src/Kokkos_LayoutContiguous.hpp#L30-L74
and specializes
std::is_same
for this class, see trilinos/Trilinos@2ad2602/packages/sacado/src/Kokkos_LayoutContiguous.hpp#L76-L87.Both of these aren't legal usage of
Kokkos
or thestd
namespace.Thus, changing all
std::is_same<>::value
tostd::is_same_v
led to a bunch of problems sinceContigousLayout<Layout>
currently behaves as-if it it identicalLayout
in certain cases. It seems that this was done to be able to use some functionalities inKokkos
(likeKokkos::resize
) that are restricted toKokkos
policies (Kokkos::LayoutLeft
/Kokkos::LayoutRight
). Simply relaxing the respectiveSFINAE
checks doesn't work since underlying classes are specialized onKokkos::LayoutLeft
/Kokkos::LayoutRight
.This pull request adds a band-aid fit that continues to use this evil workaround but suggests to find a proper solution urgently.