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

Phalanx: View-of-Views unit test compilation errors in Cuda builds with UVM #12053

Closed
ndellingwood opened this issue Jul 14, 2023 · 2 comments
Closed
Assignees
Labels
pkg: Phalanx type: bug The primary issue is a bug in Trilinos code or tests

Comments

@ndellingwood
Copy link
Contributor

Bug Report

@trilinos/phalanx @rppawlo

Cuda builds with UVM enabled error out during compilation of the packages/phalanx/test/ViewOfViews/tPhalanxViewOfViews.cpp unit test:

[100%] Building CXX object packages/phalanx/test/ViewOfViews/CMakeFiles/Phalanx_tViewOfViews.dir/tPhalanxViewOfViews.cpp.o
/home/ndellin/trilinos/Trilinos-pristine/packages/kokkos/core/src/impl/Kokkos_ViewMapping.hpp(3427): error: no suitable user-defined conversion from "const Kokkos::HostSpace::memory_space" to "const memory_space" exists
          detected during:
            instantiation of "Kokkos::Impl::SharedAllocationRecord<void, void> *Kokkos::Impl::ViewMapping<Traits, std::enable_if_t<<expression>, void>>::allocate_shared(const Kokkos::Impl::ViewCtorProp<P...> &, const Traits::array_layout &, __nv_bool) [with Traits=Kokkos::ViewTraits<Kokkos::View<double ***, mem_t> **, std::conditional_t<true, Kokkos::Cuda::array_layout, Kokkos::Cuda::array_layout>, Kokkos::Device<Kokkos::HostSpace::execution_space, Kokkos::Cuda::memory_space>, std::conditional_t<false, void, Kokkos::Experimental::DefaultViewHooks>>, P=<Kokkos::HostSpace, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, Kokkos::HostSpace::execution_space>]"
/home/ndellin/trilinos/Trilinos-pristine/packages/kokkos/core/src/Kokkos_View.hpp(1422): here
            instantiation of "Kokkos::View<DataType, Properties...>::View(const Kokkos::Impl::ViewCtorProp<P...> &, const std::enable_if_t<<expression>, Kokkos::ViewTraits<DataType, Properties...>::array_layout> &) [with DataType=Kokkos::View<double ***, mem_t> **, Properties=<std::conditional_t<true, Kokkos::Cuda::array_layout, Kokkos::Cuda::array_layout>, Kokkos::Device<Kokkos::HostSpace::execution_space, Kokkos::Cuda::memory_space>, std::conditional_t<false, void, Kokkos::Experimental::DefaultViewHooks>>, P=<Kokkos::HostSpace, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>]"
/home/ndellin/trilinos/Trilinos-pristine/packages/kokkos/core/src/Kokkos_View.hpp(1465): here
            instantiation of "Kokkos::View<DataType, Properties...>::View(const Kokkos::Impl::ViewCtorProp<P...> &, std::enable_if_t<<expression>, size_t>, size_t, size_t, size_t, size_t, size_t, size_t, size_t) [with DataType=Kokkos::View<double ***, mem_t> **, Properties=<std::conditional_t<true, Kokkos::Cuda::array_layout, Kokkos::Cuda::array_layout>, Kokkos::Device<Kokkos::HostSpace::execution_space, Kokkos::Cuda::memory_space>, std::conditional_t<false, void, Kokkos::Experimental::DefaultViewHooks>>, P=<Kokkos::HostSpace, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>]"
/home/ndellin/trilinos/Trilinos-pristine/packages/phalanx/src/Phalanx_KokkosViewOfViews.hpp(327): here
            instantiation of "PHX::ViewOfViews3<OuterViewRank, InnerViewType, OuterViewProps...>::ViewOfViews3(const ExecSpace &, std::__cxx11::string, Extents...) [with OuterViewRank=2, InnerViewType=Kokkos::View<double ***, mem_t>, OuterViewProps=<mem_t>, ExecSpace=Kokkos::Cuda, Extents=<int, int>]"
/home/ndellin/trilinos/Trilinos-pristine/packages/phalanx/test/ViewOfViews/tPhalanxViewOfViews.cpp(289): here

/home/ndellin/trilinos/Trilinos-pristine/packages/kokkos/core/src/Kokkos_View.hpp(1334): error: static assertion failed with "Incompatible View copy assignment"
          detected during:
            instantiation of "std::enable_if_t<Kokkos::Impl::ViewMapping<Kokkos::View<DataType, Properties...>::traits, Kokkos::View<RT, RP...>::traits, Kokkos::ViewTraits<DataType, Properties...>::specialize>::is_assignable_data_type, Kokkos::View<DataType, Properties...>> &Kokkos::View<DataType, Properties...>::operator=(const Kokkos::View<RT, RP...> &) [with DataType=Kokkos::View<double ***, mem_t> **, Properties=<std::conditional_t<true, Kokkos::Cuda::array_layout, Kokkos::Cuda::array_layout>, Kokkos::Device<Kokkos::HostSpace::execution_space, Kokkos::Cuda::memory_space>, std::conditional_t<false, void, Kokkos::Experimental::DefaultViewHooks>>, RT=Kokkos::View<double ***, mem_t> **, RP=<std::conditional_t<true, Kokkos::Cuda::array_layout, Kokkos::Cuda::array_layout>, Kokkos::HostSpace>]"
/home/ndellin/trilinos/Trilinos-pristine/packages/phalanx/src/Phalanx_KokkosViewOfViews.hpp(334): here
            instantiation of "PHX::ViewOfViews3<OuterViewRank, InnerViewType, OuterViewProps...>::ViewOfViews3(const ExecSpace &, std::__cxx11::string, Extents...) [with OuterViewRank=2, InnerViewType=Kokkos::View<double ***, mem_t>, OuterViewProps=<mem_t>, ExecSpace=Kokkos::Cuda, Extents=<int, int>]"
/home/ndellin/trilinos/Trilinos-pristine/packages/phalanx/test/ViewOfViews/tPhalanxViewOfViews.cpp(289): here

I'm guessing this may be related to changes merged with #12032?

Steps to Reproduce

  1. SHA1: bb2b208
  2. Configure script: (Weaver testbed, rhel8 queue)
# Get interactive a compute node
bsub -Is -n 1 -q rhel8 -gpu "num=1" bash

# Load env
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-11.2-opt
export OMPI_CXX="$KOKKOS_PATH/bin/nvcc_wrapper"

# Configuration - Cuda build, UVM

cmake \
      -DCMAKE_CXX_FLAGS='-g' \
      -DCMAKE_CXX_STANDARD="17" \
      -DCMAKE_INSTALL_PREFIX=$PWD/install \
      -DTrilinos_CONFIGURE_OPTIONS_FILE:STRING=cmake/std/atdm/ATDMDevEnv.cmake \
      -DTrilinos_ENABLE_COMPLEX_DOUBLE=ON \
      -DTrilinos_ENABLE_TESTS=OFF \
      -DTrilinos_ENABLE_ALL_PACKAGES=OFF \
      -DTPL_ENABLE_CUSPARSE:BOOL=ON \
      -DFC_FN_UNDERSCORE=UNDER \
      \
      -D Trilinos_ENABLE_Kokkos=ON \
      -D Kokkos_ARCH_VOLTA70=ON \
      -D Kokkos_ARCH_POWER9=ON \
      -D Kokkos_ENABLE_CUDA=ON \
      -D Kokkos_ENABLE_CUDA_LAMBDA=ON \
      -D Kokkos_ENABLE_CUDA_UVM=ON \
      -D KokkosKernels_INST_MEMSPACE_CUDAUVMSPACE=ON \
      -D Trilinos_ENABLE_Sacado=ON \
      -D Trilinos_ENABLE_Phalanx=ON \
      -D Phalanx_ENABLE_TESTS=ON \
      \
$TRILINOS_DIR
@ndellingwood ndellingwood added type: bug The primary issue is a bug in Trilinos code or tests pkg: Phalanx labels Jul 14, 2023
@rppawlo rppawlo self-assigned this Jul 14, 2023
@GrahamBenHarper
Copy link
Contributor

Did the PR fix the issue?

@ndellingwood
Copy link
Contributor Author

#12054 resolved the issue, thanks @rppawlo !

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
pkg: Phalanx type: bug The primary issue is a bug in Trilinos code or tests
Projects
None yet
Development

No branches or pull requests

3 participants