Open cgcgcg opened 3 days ago
Build error in a Cuda UVM build: https://sems-cdash-son.sandia.gov/cdash/viewBuildError.php?buildid=235465
/builds/muelu/nightly-testing/Trilinos/packages/tpetra/core/src/Tpetra_Details_DistributorActor.hpp(872): error: static assertion failed with "Please do not use Tpetra::Distributor with UVM allocations. See GitHub issue #1088." detected during: instantiation of "void Tpetra::Details::DistributorActor::doPosts(const Tpetra::Details::DistributorPlan &, const ExpView &, const Teuchos::ArrayView<const size_t> &, const ImpView &, const Teuchos::ArrayView<const size_t> &) [with ExpView=Kokkos::View<char *, std::conditional_t<true, Kokkos::Cuda::array_layout, Kokkos::Cuda::array_layout>, Kokkos::Device<Kokkos::HostSpace::execution_space, Kokkos::HostSpace::memory_space>, std::conditional_t<false, void, Kokkos::Experimental::DefaultViewHooks>>, ImpView=Kokkos::View<char *, std::conditional_t<true, Kokkos::Cuda::array_layout, Kokkos::Cuda::array_layout>, Kokkos::Device<Kokkos::HostSpace::execution_space, Kokkos::CudaUVMSpace::memory_space>, std::conditional_t<false, void, Kokkos::Experimental::DefaultViewHooks>>]" (146): here instantiation of "void Tpetra::Details::DistributorActor::doPostsAndWaits(const Tpetra::Details::DistributorPlan &, const ExpView &, const Teuchos::ArrayView<const size_t> &, const ImpView &, const Teuchos::ArrayView<const size_t> &) [with ExpView=Kokkos::View<char *, std::conditional_t<true, Kokkos::Cuda::array_layout, Kokkos::Cuda::array_layout>, Kokkos::Device<Kokkos::HostSpace::execution_space, Kokkos::HostSpace::memory_space>, std::conditional_t<false, void, Kokkos::Experimental::DefaultViewHooks>>, ImpView=Kokkos::View<char *, std::conditional_t<true, Kokkos::Cuda::array_layout, Kokkos::Cuda::array_layout>, Kokkos::Device<Kokkos::HostSpace::execution_space, Kokkos::CudaUVMSpace::memory_space>, std::conditional_t<false, void, Kokkos::Experimental::DefaultViewHooks>>]" /builds/muelu/nightly-testing/Trilinos/packages/tpetra/core/src/Tpetra_Distributor.hpp(640): here instantiation of "std::enable_if<<expression>, void>::type Tpetra::Distributor::doPostsAndWaits(const ExpView &, const Teuchos::ArrayView<const size_t> &, const ImpView &, const Teuchos::ArrayView<const size_t> &) [with ExpView=Kokkos::View<char *, std::conditional_t<true, Kokkos::Cuda::array_layout, Kokkos::Cuda::array_layout>, Kokkos::Device<Kokkos::HostSpace::execution_space, Kokkos::HostSpace::memory_space>, std::conditional_t<false, void, Kokkos::Experimental::DefaultViewHooks>>, ImpView=Kokkos::View<char *, std::conditional_t<true, Kokkos::Cuda::array_layout, Kokkos::Cuda::array_layout>, Kokkos::Device<Kokkos::HostSpace::execution_space, Kokkos::CudaUVMSpace::memory_space>, std::conditional_t<false, void, Kokkos::Experimental::DefaultViewHooks>>]" /builds/muelu/nightly-testing/Trilinos/packages/tpetra/core/test/ImportExport2/ImportExport2_UnitTests.cpp(2361): here instantiation of "void <unnamed>::Import_Util_UnpackAndCombineWithOwningPIDs_UnitTest<LO, GO, Scalar>::runUnitTestImpl(Teuchos::FancyOStream &, __nv_bool &) const [with LO=int, GO=<unnamed>::longlong, Scalar=double]" /builds/muelu/nightly-testing/Trilinos/packages/tpetra/core/test/ImportExport2/ImportExport2_UnitTests.cpp(3076): here /builds/muelu/nightly-testing/Trilinos/packages/kokkos/core/src/Kokkos_View.hpp(1331): error: static assertion failed with "Incompatible View copy construction" detected during: instantiation of "Kokkos::View<DataType, Properties...>::View(const Kokkos::View<RT, RP...> &, 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, void> *) [with DataType=char *, Properties=<std::conditional_t<true, Kokkos::Cuda::array_layout, Kokkos::Cuda::array_layout>, Kokkos::Device<Kokkos::HostSpace::execution_space, Kokkos::CudaUVMSpace::memory_space>, std::conditional_t<false, void, Kokkos::Experimental::DefaultViewHooks>>, RT=char *, RP=<std::conditional_t<true, Kokkos::Cuda::array_layout, Kokkos::Cuda::array_layout>, Kokkos::Device<Kokkos::HostSpace::execution_space, Kokkos::HostSpace::memory_space>, Kokkos::MemoryTraits<0U>>]" /builds/muelu/nightly-testing/Trilinos/packages/tpetra/core/src/Tpetra_Details_DistributorActor.hpp(1158): here instantiation of "void Tpetra::Details::DistributorActor::doPosts(const Tpetra::Details::DistributorPlan &, const ExpView &, const Teuchos::ArrayView<const size_t> &, const ImpView &, const Teuchos::ArrayView<const size_t> &) [with ExpView=Kokkos::View<char *, std::conditional_t<true, Kokkos::Cuda::array_layout, Kokkos::Cuda::array_layout>, Kokkos::Device<Kokkos::HostSpace::execution_space, Kokkos::HostSpace::memory_space>, std::conditional_t<false, void, Kokkos::Experimental::DefaultViewHooks>>, ImpView=Kokkos::View<char *, std::conditional_t<true, Kokkos::Cuda::array_layout, Kokkos::Cuda::array_layout>, Kokkos::Device<Kokkos::HostSpace::execution_space, Kokkos::CudaUVMSpace::memory_space>, std::conditional_t<false, void, Kokkos::Experimental::DefaultViewHooks>>]" /builds/muelu/nightly-testing/Trilinos/packages/tpetra/core/src/Tpetra_Details_DistributorActor.hpp(146): here instantiation of "void Tpetra::Details::DistributorActor::doPostsAndWaits(const Tpetra::Details::DistributorPlan &, const ExpView &, const Teuchos::ArrayView<const size_t> &, const ImpView &, const Teuchos::ArrayView<const size_t> &) [with ExpView=Kokkos::View<char *, std::conditional_t<true, Kokkos::Cuda::array_layout, Kokkos::Cuda::array_layout>, Kokkos::Device<Kokkos::HostSpace::execution_space, Kokkos::HostSpace::memory_space>, std::conditional_t<false, void, Kokkos::Experimental::DefaultViewHooks>>, ImpView=Kokkos::View<char *, std::conditional_t<true, Kokkos::Cuda::array_layout, Kokkos::Cuda::array_layout>, Kokkos::Device<Kokkos::HostSpace::execution_space, Kokkos::CudaUVMSpace::memory_space>, std::conditional_t<false, void, Kokkos::Experimental::DefaultViewHooks>>]" /builds/muelu/nightly-testing/Trilinos/packages/tpetra/core/src/Tpetra_Distributor.hpp(640): here instantiation of "std::enable_if<<expression>, void>::type Tpetra::Distributor::doPostsAndWaits(const ExpView &, const Teuchos::ArrayView<const size_t> &, const ImpView &, const Teuchos::ArrayView<const size_t> &) [with ExpView=Kokkos::View<char *, std::conditional_t<true, Kokkos::Cuda::array_layout, Kokkos::Cuda::array_layout>, Kokkos::Device<Kokkos::HostSpace::execution_space, Kokkos::HostSpace::memory_space>, std::conditional_t<false, void, Kokkos::Experimental::DefaultViewHooks>>, ImpView=Kokkos::View<char *, std::conditional_t<true, Kokkos::Cuda::array_layout, Kokkos::Cuda::array_layout>, Kokkos::Device<Kokkos::HostSpace::execution_space, Kokkos::CudaUVMSpace::memory_space>, std::conditional_t<false, void, Kokkos::Experimental::DefaultViewHooks>>]" /builds/muelu/nightly-testing/Trilinos/packages/tpetra/core/test/ImportExport2/ImportExport2_UnitTests.cpp(2361): here instantiation of "void <unnamed>::Import_Util_UnpackAndCombineWithOwningPIDs_UnitTest<LO, GO, Scalar>::runUnitTestImpl(Teuchos::FancyOStream &, __nv_bool &) const [with LO=int, GO=<unnamed>::longlong, Scalar=double]" /builds/muelu/nightly-testing/Trilinos/packages/tpetra/core/test/ImportExport2/ImportExport2_UnitTests.cpp(3076): here
Reproducer:
NODE_TYPE="Cuda" ENABLE_UVM="ON" ./reproducer.sh cd Trilinos-build/packages/tpetra/core/test/ImportExport2/ make
from https://gitlab-ex.sandia.gov/muelu/nightly-testing
@cgcgcg Yeah, this was a "Doesn't build on MI300+UVM without the fix; but the fix breaks A100+UVM"
Fun times.
Bug Report
Build error in a Cuda UVM build: https://sems-cdash-son.sandia.gov/cdash/viewBuildError.php?buildid=235465
Reproducer:
from https://gitlab-ex.sandia.gov/muelu/nightly-testing