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".


Reply via email to