[petsc-dev] PETSc build errors with he most recent thrust/cusp

Barry Smith bsmith at mcs.anl.gov
Wed Jan 4 17:11:47 CST 2012


   Goddamn C++!


On Jan 4, 2012, at 5:07 PM, Paul Mullowney wrote:

> I'm having troubles building PETSc with the most recent version of CUSP (v.0.2.0) and Thurst (v1.5.0). I see the errors below. Any help is much appreciated.
> 
> -Paul
> 
> 
> nvcc -gencode arch=compute_20,code=sm_20 -O3 -I/usr/local/cuda/include -O -arch=sm_13 -c --compiler-options="-g -O3 -O   -I/home/research/paulm/gpuPETSc/petsc-dev/include -I/home/research/paulm/gpuPETSc/petsc-dev/arch-linux2-c-opt/include -I/usr/local/cuda/include -I/home/research/paulm/gpuPETSc/txpetscgpu/include -I/home/research/paulm/gpuPETSc/externLibs/cusp/ -I/usr/local/cuda/include/ -I/usr/local/contrib/openmpi-1.4.2-nodl/include    -D__INSDIR__=src/mat/impls/aij/seq/seqcusp/" aijAssemble.cu
> 
> /home/research/paulm/gpuPETSc/externLibs/cusp/cusp/detail/device/generalized_spmv/coo_flat.h(509): error: namespace "thrust::detail::backend::cuda" has no member "uniform_interval_splitting"
>          detected during instantiation of "void cusp::detail::device::reduce_by_key(InputIterator1, InputIterator1, InputIterator2, OutputIterator1, OutputIterator2, BinaryPredicate, BinaryFunction) [with InputIterator1=thrust::zip_iterator<thrust::tuple<thrust::detail::normal_iterator<thrust::device_ptr<PetscInt>>, thrust::detail::normal_iterator<thrust::device_ptr<PetscInt>>, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type>>, InputIterator2=thrust::detail::normal_iterator<thrust::device_ptr<ValueType>>, OutputIterator1=thrust::zip_iterator<thrust::tuple<thrust::detail::normal_iterator<thrust::device_ptr<PetscInt>>, thrust::detail::normal_iterator<thrust::device_ptr<PetscInt>>, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type>>, OutputIterator2=thrust::detail::normal_iterator<thrust::device_ptr<ValueType>>, BinaryPredicate=thrust::equal_to<thrust::tuple<PetscInt, PetscInt, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type>>, BinaryFunction=thrust::plus<ValueType>]"
> aijAssemble.cu(264): here
> 
> /home/research/paulm/gpuPETSc/externLibs/cusp/cusp/detail/device/generalized_spmv/coo_flat.h(509): error: type name is not allowed
>          detected during instantiation of "void cusp::detail::device::reduce_by_key(InputIterator1, InputIterator1, InputIterator2, OutputIterator1, OutputIterator2, BinaryPredicate, BinaryFunction) [with InputIterator1=thrust::zip_iterator<thrust::tuple<thrust::detail::normal_iterator<thrust::device_ptr<PetscInt>>, thrust::detail::normal_iterator<thrust::device_ptr<PetscInt>>, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type>>, InputIterator2=thrust::detail::normal_iterator<thrust::device_ptr<ValueType>>, OutputIterator1=thrust::zip_iterator<thrust::tuple<thrust::detail::normal_iterator<thrust::device_ptr<PetscInt>>, thrust::detail::normal_iterator<thrust::device_ptr<PetscInt>>, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type>>, OutputIterator2=thrust::detail::normal_iterator<thrust::device_ptr<ValueType>>, BinaryPredicate=thrust::equal_to<thrust::tuple<PetscInt, PetscInt, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type>>, BinaryFunction=thrust::plus<ValueType>]"
> aijAssemble.cu(264): here
> 
> /home/research/paulm/gpuPETSc/externLibs/cusp/cusp/detail/device/generalized_spmv/coo_flat.h(509): warning: expression has no effect
>          detected during:
>            instantiation of "void cusp::detail::device::cuda::spmv_coo(SizeType, SizeType, IndexIterator1, IndexIterator2, ValueIterator1, ValueIterator2, ValueIterator3, ValueIterator4, BinaryFunction1, BinaryFunction2) [with SizeType=unsigned long, IndexIterator1=thrust::detail::normal_iterator<thrust::device_ptr<unsigned int>>, IndexIterator2=thrust::constant_iterator<unsigned int, thrust::use_default, thrust::use_default>, ValueIterator1=thrust::detail::normal_iterator<thrust::device_ptr<ValueType>>, ValueIterator2=thrust::constant_iterator<ValueType, thrust::use_default, thrust::use_default>, ValueIterator3=thrust::constant_iterator<ValueType, thrust::use_default, thrust::use_default>, ValueIterator4=thrust::detail::normal_iterator<thrust::device_ptr<ValueType>>, BinaryFunction1=thrust::multiplies<ValueType>, BinaryFunction2=thrust::plus<ValueType>]"
> /home/research/paulm/gpuPETSc/externLibs/cusp/cusp/detail/device/reduce_by_key.inl(100): here
>            instantiation of "void cusp::detail::device::reduce_by_key(InputIterator1, InputIterator1, InputIterator2, OutputIterator1, OutputIterator2, BinaryPredicate, BinaryFunction) [with InputIterator1=thrust::zip_iterator<thrust::tuple<thrust::detail::normal_iterator<thrust::device_ptr<PetscInt>>, thrust::detail::normal_iterator<thrust::device_ptr<PetscInt>>, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type>>, InputIterator2=thrust::detail::normal_iterator<thrust::device_ptr<ValueType>>, OutputIterator1=thrust::zip_iterator<thrust::tuple<thrust::detail::normal_iterator<thrust::device_ptr<PetscInt>>, thrust::detail::normal_iterator<thrust::device_ptr<PetscInt>>, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type>>, OutputIterator2=thrust::detail::normal_iterator<thrust::device_ptr<ValueType>>, BinaryPredicate=thrust::equal_to<thrust::tuple<PetscInt, PetscInt, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type>>, BinaryFunction=thrust::plus<ValueType>]"
> aijAssemble.cu(264): here
> 
> /home/research/paulm/gpuPETSc/externLibs/cusp/cusp/detail/device/generalized_spmv/coo_flat.h(509): warning: expression has no effect
>          detected during:
>            instantiation of "void cusp::detail::device::cuda::spmv_coo(SizeType, SizeType, IndexIterator1, IndexIterator2, ValueIterator1, ValueIterator2, ValueIterator3, ValueIterator4, BinaryFunction1, BinaryFunction2) [with SizeType=unsigned long, IndexIterator1=thrust::detail::normal_iterator<thrust::device_ptr<unsigned int>>, IndexIterator2=thrust::constant_iterator<unsigned int, thrust::use_default, thrust::use_default>, ValueIterator1=thrust::detail::normal_iterator<thrust::device_ptr<ValueType>>, ValueIterator2=thrust::constant_iterator<ValueType, thrust::use_default, thrust::use_default>, ValueIterator3=thrust::constant_iterator<ValueType, thrust::use_default, thrust::use_default>, ValueIterator4=thrust::detail::normal_iterator<thrust::device_ptr<ValueType>>, BinaryFunction1=thrust::multiplies<ValueType>, BinaryFunction2=thrust::plus<ValueType>]"
> /home/research/paulm/gpuPETSc/externLibs/cusp/cusp/detail/device/reduce_by_key.inl(100): here
>            instantiation of "void cusp::detail::device::reduce_by_key(InputIterator1, InputIterator1, InputIterator2, OutputIterator1, OutputIterator2, BinaryPredicate, BinaryFunction) [with InputIterator1=thrust::zip_iterator<thrust::tuple<thrust::detail::normal_iterator<thrust::device_ptr<PetscInt>>, thrust::detail::normal_iterator<thrust::device_ptr<PetscInt>>, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type>>, InputIterator2=thrust::detail::normal_iterator<thrust::device_ptr<ValueType>>, OutputIterator1=thrust::zip_iterator<thrust::tuple<thrust::detail::normal_iterator<thrust::device_ptr<PetscInt>>, thrust::detail::normal_iterator<thrust::device_ptr<PetscInt>>, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type>>, OutputIterator2=thrust::detail::normal_iterator<thrust::device_ptr<ValueType>>, BinaryPredicate=thrust::equal_to<thrust::tuple<PetscInt, PetscInt, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type>>, BinaryFunction=thrust::plus<ValueType>]"
> aijAssemble.cu(264): here
> 
> /home/research/paulm/gpuPETSc/externLibs/cusp/cusp/detail/device/generalized_spmv/coo_flat.h(506): warning: variable "unit_size" was set but never used
>          detected during:
>            instantiation of "void cusp::detail::device::cuda::spmv_coo(SizeType, SizeType, IndexIterator1, IndexIterator2, ValueIterator1, ValueIterator2, ValueIterator3, ValueIterator4, BinaryFunction1, BinaryFunction2) [with SizeType=unsigned long, IndexIterator1=thrust::detail::normal_iterator<thrust::device_ptr<unsigned int>>, IndexIterator2=thrust::constant_iterator<unsigned int, thrust::use_default, thrust::use_default>, ValueIterator1=thrust::detail::normal_iterator<thrust::device_ptr<ValueType>>, ValueIterator2=thrust::constant_iterator<ValueType, thrust::use_default, thrust::use_default>, ValueIterator3=thrust::constant_iterator<ValueType, thrust::use_default, thrust::use_default>, ValueIterator4=thrust::detail::normal_iterator<thrust::device_ptr<ValueType>>, BinaryFunction1=thrust::multiplies<ValueType>, BinaryFunction2=thrust::plus<ValueType>]"
> /home/research/paulm/gpuPETSc/externLibs/cusp/cusp/detail/device/reduce_by_key.inl(100): here
>            instantiation of "void cusp::detail::device::reduce_by_key(InputIterator1, InputIterator1, InputIterator2, OutputIterator1, OutputIterator2, BinaryPredicate, BinaryFunction) [with InputIterator1=thrust::zip_iterator<thrust::tuple<thrust::detail::normal_iterator<thrust::device_ptr<PetscInt>>, thrust::detail::normal_iterator<thrust::device_ptr<PetscInt>>, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type>>, InputIterator2=thrust::detail::normal_iterator<thrust::device_ptr<ValueType>>, OutputIterator1=thrust::zip_iterator<thrust::tuple<thrust::detail::normal_iterator<thrust::device_ptr<PetscInt>>, thrust::detail::normal_iterator<thrust::device_ptr<PetscInt>>, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type>>, OutputIterator2=thrust::detail::normal_iterator<thrust::device_ptr<ValueType>>, BinaryPredicate=thrust::equal_to<thrust::tuple<PetscInt, PetscInt, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type>>, BinaryFunction=thrust::plus<ValueType>]"
> aijAssemble.cu(264): here
> 
> 2 errors detected in the compilation of "/tmp/tmpxft_000056d7_00000000-6_aijAssemble.compute_20.cpp1.ii".




More information about the petsc-dev mailing list