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

Trilinos nightly build failure in Tpetra: error: class "Kokkos::Details::ArithTraits<long long>" has no member "nan" #1437

Closed
ndellingwood opened this issue Jun 8, 2022 · 0 comments

Comments

@ndellingwood
Copy link
Contributor

Following merge of PR #1406 nightly Trilinos builds began failing to compile due missing nan member for long long types in the ArithTraits, which is showing up in Tpetra:

18:11:41 /home/jenkins/jenkins-new/workspace/KokkosKernels_Trilinos_TpetraCore_Sacado_KokkosDev_CUDA92_opt/Trilinos/packages/tpetra/core/src/Tpetra_MultiVector_def.hpp(206): error: class "Kokkos::Details::ArithTraits<long long>" has no member "nan"
18:11:41           detected during:
18:11:41             instantiation of "Tpetra::MultiVector<ST, LO, GO, NT>::wrapped_dual_view_type <unnamed>::allocDualView<ST,LO,GO,NT>(size_t, size_t, __nv_bool, __nv_bool) [with ST=Tpetra::longlong, LO=int, GO=Tpetra::longlong, NT=Tpetra::Kokkos_Compat_KokkosSerialWrapperNode]" 
18:11:41 (472): here
18:11:41             instantiation of "Tpetra::MultiVector<Scalar, LocalOrdinal, GlobalOrdinal, Node>::MultiVector(const Teuchos::RCP<const Tpetra::MultiVector<Scalar, LocalOrdinal, GlobalOrdinal, Node>::map_type> &, size_t, __nv_bool) [with Scalar=Tpetra::longlong, LocalOrdinal=int, GlobalOrdinal=Tpetra::longlong, Node=Tpetra::Kokkos_Compat_KokkosSerialWrapperNode]" 
18:11:41 packages/tpetra/core/src/Tpetra_MultiVector_LONG_LONG_INT_LONG_LONG_SERIAL.cpp(76): here
...

Reproducer (weaver):

git clone -b kokkos-promotion https://github.com/trilinos/Trilinos.git
# Symbolic link to your kokkos and kokkos-kernels repos in Trilinos source directory for source override
cd Trilinos
ln -s <path-to-your-repo>/kokkos kokkos
ln -s <path-to-your-repo>/kokkos-kernels kokkos-kernels

cd $HOME
mkdir -p build
cd build

export ATDM_CONFIG_REGISTER_CUSTOM_CONFIG_DIR=${TRILINOS_DIR}/cmake/std/atdm/contributed/weaver
source ${TRILINOS_DIR}/cmake/std/atdm/load-env.sh weaver-cuda-10.1-opt
export ATDM_CONFIG_USE_NINJA=OFF


cmake \
-G"Unix Makefiles" \
-DTrilinos_CONFIGURE_OPTIONS_FILE:STRING=cmake/std/atdm/ATDMDevEnv.cmake \
-DCMAKE_CXX_STANDARD="14" \
-DTrilinos_ENABLE_TESTS=OFF \
-DTrilinos_ENABLE_ALL_PACKAGES=ON \
-DTpetra_ENABLE_TESTS=ON \
-DKokkos_SOURCE_DIR_OVERRIDE:STRING=kokkos \
-DKokkosKernels_SOURCE_DIR_OVERRIDE:STRING=kokkos-kernels \
$TRILINOS_DIR

@lucbv can you investigate?

lucbv added a commit to lucbv/kokkos-kernels that referenced this issue Jun 8, 2022


This implementation is honestly very debatable, using -1 for signed
integeral types may lead to very surprising results...
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