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

Nightly test failures, builds with gcc/8.3.0 as host compiler: cc1plus: error with KokkosSparse::Impl::Sequential::TrsvWrap<...>::divide #2109

Closed
ndellingwood opened this issue Feb 15, 2024 · 3 comments

Comments

@ndellingwood
Copy link
Contributor

Nightly cuda/11.4 builds are failing to compile with error:

06:59:06 In member function 'void KokkosSparse::Impl::Sequential::TrsvWrap<CrsMatrixType, DomainMultiVectorType, RangeMultiVectorType>::CommonBlocked::divide(RangeMultiVectorType, const UBlock&, KokkosSparse::Impl::Sequential::TrsvWrap<CrsMatrixType, DomainMultiVectorType, RangeMultiVectorType>::lno_t, KokkosSparse::Impl::Sequential::TrsvWrap<CrsMatrixType, DomainMultiVectorType, RangeMultiVectorType>::lno_t) [with bool IsLower = false; bool Transpose = false; CrsMatrixType = KokkosSparse::Experimental::BsrMatrix<const Kokkos::complex<double>, const int, Kokkos::Device<Kokkos::Cuda, Kokkos::CudaSpace>, Kokkos::MemoryTraits<1>, const int>; DomainMultiVectorType = Kokkos::View<const Kokkos::complex<double>**, Kokkos::LayoutLeft, Kokkos::Device<Kokkos::Cuda, Kokkos::CudaSpace>, Kokkos::MemoryTraits<3> >; RangeMultiVectorType = Kokkos::View<Kokkos::complex<double>**, Kokkos::LayoutLeft, Kokkos::Device<Kokkos::Cuda, Kokkos::CudaSpace>, Kokkos::MemoryTraits<1> >]':
06:59:06 cc1plus: error: 'void* __builtin_memcpy(void*, const void*, long unsigned int)' source argument is the same as destination [-Werror=restrict]
06:59:06 [ 67%] Building CXX object CMakeFiles/kokkoskernels.dir/sparse/eti/generated_specializations_cpp/gauss_seidel_symbolic/Sparse_gauss_seidel_symbolic_eti_COMPLEX_DOUBLE_ORDINAL_INT_OFFSET_INT_LAYOUTLEFT_EXECSPACE_CUDA_MEMSPACE_CUDASPACE.cpp.o
06:59:06 [ 67%] Building CXX object CMakeFiles/kokkoskernels.dir/sparse/eti/generated_specializations_cpp/gauss_seidel_symbolic/Sparse_gauss_seidel_symbolic_eti_COMPLEX_DOUBLE_ORDINAL_INT_OFFSET_INT_LAYOUTLEFT_EXECSPACE_SERIAL_MEMSPACE_HOSTSPACE.cpp.o
06:59:06 [ 68%] Building CXX object CMakeFiles/kokkoskernels.dir/sparse/eti/generated_specializations_cpp/gauss_seidel_symbolic/Sparse_gauss_seidel_symbolic_eti_COMPLEX_DOUBLE_ORDINAL_INT_OFFSET_SIZE_T_LAYOUTLEFT_EXECSPACE_CUDA_MEMSPACE_CUDASPACE.cpp.o
06:59:06 In member function 'void KokkosSparse::Impl::Sequential::TrsvWrap<CrsMatrixType, DomainMultiVectorType, RangeMultiVectorType>::CommonBlocked::divide(RangeMultiVectorType, const UBlock&, KokkosSparse::Impl::Sequential::TrsvWrap<CrsMatrixType, DomainMultiVectorType, RangeMultiVectorType>::lno_t, KokkosSparse::Impl::Sequential::TrsvWrap<CrsMatrixType, DomainMultiVectorType, RangeMultiVectorType>::lno_t) [with bool IsLower = false; bool Transpose = false; CrsMatrixType = KokkosSparse::Experimental::BsrMatrix<const Kokkos::complex<double>, const int, Kokkos::Device<Kokkos::Serial, Kokkos::HostSpace>, Kokkos::MemoryTraits<1>, const int>; DomainMultiVectorType = Kokkos::View<const Kokkos::complex<double>**, Kokkos::LayoutLeft, Kokkos::Device<Kokkos::Serial, Kokkos::HostSpace>, Kokkos::MemoryTraits<3> >; RangeMultiVectorType = Kokkos::View<Kokkos::complex<double>**, Kokkos::LayoutLeft, Kokkos::Device<Kokkos::Serial, Kokkos::HostSpace>, Kokkos::MemoryTraits<1> >]':
06:59:06 cc1plus: error: 'void* __builtin_memcpy(void*, const void*, long unsigned int)' source argument is the same as destination [-Werror=restrict]
06:59:06 cc1plus: all warnings being treated as errors
06:59:06 make[2]: *** [CMakeFiles/kokkoskernels.dir/sparse/eti/generated_specializations_cpp/trsv/Sparse_trsv_eti_COMPLEX_DOUBLE_ORDINAL_INT_OFFSET_INT_LAYOUTLEFT_EXECSPACE_CUDA_MEMSPACE_CUDASPACE.cpp.o] Error 1

This follows merge of commits

Changes:
Git (git https://github.com/kokkos/kokkos-kernels.git)

Add support for BSR matrices to some trsv routines (#2104) ([detail](https://jenkins-son.sandia.gov/job/KokkosKernels_semsrhel7gpu01_cuda114_gcc830_cpp17/214/changes#detail))
Lapack - SVD: adding quick return when cuSOLVER is skipped (#2107) ([detail](https://jenkins-son.sandia.gov/job/KokkosKernels_semsrhel7gpu01_cuda114_gcc830_cpp17/214/changes#detail))

The failure in Trsv indicates this is related with the #2104 PR, @jgfouca can you take a look?

Reproducer (kokkos-dev-2):

module load sems-cmake sems-gcc/8.3.0 sems-cuda/11.4.2

$KOKKOSKERNELS_PATH/cm_generate_makefile.bash --with-devices=Cuda,Serial --arch=Volta70 --compiler=$KOKKOS_PATH/bin/nvcc_wrapper --cxxflags="-O3 -Wall -Wunused-parameter -Wshadow -pedantic -Werror -Wsign-compare -Wtype-limits -Wuninitialized " --cxxstandard="17" --kokkos-path=$KOKKOS_PATH --kokkoskernels-path=$KOKKOSKERNELS_PATH --with-scalars='double,complex_double' --with-ordinals=int --with-offsets=int,size_t --with-layouts=LayoutLeft --with-cuda-options=enable_lambda   --no-examples

make -j16
@ndellingwood
Copy link
Contributor Author

@jgfouca The build failed with cuda/11.1+gcc/8.3.0 and in just a gcc/8.3.0 build as well, so it looks like gcc/8.3.0 may be the commonality

@ndellingwood ndellingwood changed the title Nightly test failures, Cuda/11.4 builds: cc1plus: error with KokkosSparse::Impl::Sequential::TrsvWrap<...>::divide Nightly test failures, builds with gcc/8.3.0 as host compiler: cc1plus: error with KokkosSparse::Impl::Sequential::TrsvWrap<...>::divide Feb 15, 2024
@ndellingwood
Copy link
Contributor Author

Also, it is the -Werror that is tripping this as an error ([-Werror=restrict])

@ndellingwood
Copy link
Contributor Author

@jgfouca thanks for fast fix in #2111 , nightlies are looking much better!

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

2 participants