Invoking: nvcc Compiler
nvcc -I"src" -O3 --std=c++11 --compile -o "build/helpers.o" "src/helpers.cpp"
In file included from /usr/local/cuda/bin/../targets/x86_64-linux/include/thrust/detail/reference.h:173:0,
from /usr/local/cuda/bin/../targets/x86_64-linux/include/thrust/memory.h:25,
from /usr/local/cuda/bin/../targets/x86_64-linux/include/thrust/device_ptr.h:25,
from /usr/local/cuda/bin/../targets/x86_64-linux/include/thrust/device_malloc_allocator.h:25,
from /usr/local/cuda/bin/../targets/x86_64-linux/include/thrust/device_vector.h:25,
from src/helpers.h:13,
from src/helpers.cpp:1:
/usr/local/cuda/bin/../targets/x86_64-linux/include/thrust/detail/reference.inl: In instantiation of ‘thrust::reference<Element, Pointer, Derived>::value_type thrust::reference<Element, Pointer, Derived>::strip_const_get_value(const System&) const [with System = thrust::cuda_cub::tag; Element = int2; Pointer = thrust::device_ptr<int2>; Derived = thrust::device_reference<int2>; thrust::reference<Element, Pointer, Derived>::value_type = int2]’:
/usr/local/cuda/bin/../targets/x86_64-linux/include/thrust/detail/reference.inl:105:31: required from ‘thrust::reference<Element, Pointer, Derived>::value_type thrust::reference<Element, Pointer, Derived>::convert_to_value_type(System*) const [with System = thrust::cuda_cub::tag; Element = int2; Pointer = thrust::device_ptr<int2>; Derived = thrust::device_reference<int2>; thrust::reference<Element, Pointer, Derived>::value_type = int2]’
/usr/local/cuda/bin/../targets/x86_64-linux/include/thrust/detail/reference.inl:122:31: required from ‘thrust::reference<Element, Pointer, Derived>::operator thrust::reference<Element, Pointer, Derived>::value_type() const [with Element = int2; Pointer = thrust::device_ptr<int2>; Derived = thrust::device_reference<int2>; thrust::reference<Element, Pointer, Derived>::value_type = int2]’
src/helpers.cpp:48:25: required from here
/usr/local/cuda/bin/../targets/x86_64-linux/include/thrust/detail/reference.inl:137:19: error: could not convert ‘thrust::system::detail::generic::get_value<thrust::cuda_cub::tag, thrust::device_ptr<int2> >((*(thrust::execution_policy<thrust::cuda_cub::tag>*)(& thrust::detail::derived_cast<thrust::cuda_cub::tag>((*(thrust::detail::execution_policy_base<thrust::cuda_cub::tag>*)(& non_const_system))))), ((const thrust::reference<int2, thrust::device_ptr<int2>, thrust::device_reference<int2> >*)this)->thrust::reference<int2, thrust::device_ptr<int2>, thrust::device_reference<int2> >::m_ptr)’ from ‘void’ to ‘thrust::reference<int2, thrust::device_ptr<int2>, thrust::device_reference<int2> >::value_type {aka int2}’
return get_value(thrust::detail::derived_cast(non_const_system), m_ptr);