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

Paul Mullowney paulm at txcorp.com
Wed Jan 4 17:07:53 CST 2012


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