Intel® oneAPI DPC++/C++ Compiler
Talk to fellow users of Intel® oneAPI DPC++/C++ Compiler and companion tools like Intel® oneAPI DPC++ Library, Intel® DPC++ Compatibility Tool, and Intel® Distribution for GDB*

dpct giving error in thrust files

Shukla__Gagandeep
1,220 Views

Hi,

I am trying to convert h2o4gpu code using dpct and it is giving following errors while parsing thrust files. Is there any solution to these errors.

File I am trying to convert is src/gpu/h2o4gpuglm.cu. Though I received similar in many other files that include thrust library files.

C:\Users\intel\Downloads\cuda code\h2o4gpu-master\src\gpu>dpct --cuda-include-path="C:\nvcc\include" --extra-arg="-I.\..\include" --extra-arg="-I.\include"  --extra-arg="-D_CRT_SECURE_NO_WARNINGS" --out-root=dpct h2o4gpuglm.cu
NOTE: Could not auto-detect compilation database for file 'h2o4gpuglm.cu' in 'C:\Users\intel\Downloads\cuda code\h2o4gpu-master\src\gpu' or any parent directory.
Processing: C:\Users\intel\Downloads\cuda code\h2o4gpu-master\src\gpu\h2o4gpuglm.cu
In file included from C:\Users\intel\Downloads\cuda code\h2o4gpu-master\src\gpu\h2o4gpuglm.cu:27:
In file included from C:\Users\intel\Downloads\cuda code\h2o4gpu-master\src\gpu\include\cuda_utils.h:7:
C:\Users\intel\Downloads\cuda code\h2o4gpu-master\src\gpu\include\cuda_utils2.h:42:9: warning: 'CUDACHECK' macro redefined [-Wmacro-redefined]
#define CUDACHECK(cmd) \
        ^
C:\Users\intel\Downloads\cuda code\h2o4gpu-master\src\gpu\include\cuda_utils2.h:9:9: note: previous definition is here
#define CUDACHECK(cmd)                                        \
        ^
In file included from C:\Users\intel\Downloads\cuda code\h2o4gpu-master\src\gpu\h2o4gpuglm.cu:4:
In file included from C:\Users\intel\Downloads\cuda code\h2o4gpu-master\src\include\solver\glm.h:77:
In file included from C:\Users\intel\Downloads\cuda code\h2o4gpu-master\src\include\prox_lib.h:14:
In file included from C:\nvcc\include\thrust\device_vector.h:25:
In file included from C:\nvcc\include\thrust\detail\vector_base.h:29:
In file included from C:\nvcc\include\thrust\detail\contiguous_storage.h:240:
In file included from C:\nvcc\include\thrust\detail\contiguous_storage.inl:22:
In file included from C:\nvcc\include\thrust\detail\allocator\copy_construct_range.h:46:
In file included from C:\nvcc\include\thrust\detail\allocator\copy_construct_range.inl:22:
In file included from C:\nvcc\include\thrust\tuple.h:34:
C:\nvcc\include\thrust\detail\tuple.inl:256:20: error: implicit instantiation of undefined template 'thrust::device_reference<const double>'
  stored_head_type head;
                   ^
C:\nvcc\include\thrust\tuple.h:198:12: note: in instantiation of template class 'thrust::detail::cons<thrust::device_reference<const double>, thrust::detail::cons<thrust::device_reference<const double>, thrust::null_type> >' requested here
    public detail::map_tuple_to_cons<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9>::type
           ^
C:\nvcc\include\thrust\tuple.h:90:52: note: in instantiation of template class 'thrust::tuple<thrust::device_reference<const double>, thrust::device_reference<const double>, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type>' requested here
  static const int value = 1 + tuple_size<typename T::tail_type>::value;
                                                   ^
C:\nvcc\include\thrust\iterator\detail\zip_iterator_base.h:299:14: note: in instantiation of template class 'thrust::tuple_size<thrust::tuple<thrust::device_reference<const double>, thrust::device_reference<const double>, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type> >' requested here
        (i < tuple_size<Tuple>::value),
             ^
C:\nvcc\include\thrust\iterator\detail\zip_iterator_base.h:309:20: note: in instantiation of template class 'thrust::detail::zip_iterator_base_ns::tuple_elements_helper<0, thrust::tuple<thrust::device_reference<const double>, thrust::device_reference<const double>, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type> >' requested here
  typedef typename tuple_elements_helper<0,Tuple>::type T0;
                   ^
C:\nvcc\include\thrust\iterator\detail\zip_iterator_base.h:336:14: note: in instantiation of template class 'thrust::detail::zip_iterator_base_ns::tuple_elements<thrust::tuple<thrust::device_reference<const double>, thrust::device_reference<const double>, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type> >' requested here
    typename elements::T0,
             ^
C:\nvcc\include\thrust\iterator\detail\zip_iterator_base.h:365:44: note: in instantiation of template class 'thrust::detail::zip_iterator_base_ns::tuple_of_iterator_references<thrust::tuple<thrust::device_ptr<const double>, thrust::device_ptr<const double>, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type> >' requested here
    typedef typename zip_iterator_base_ns::tuple_of_iterator_references<IteratorTuple>::type reference;
                                           ^
C:\nvcc\include\thrust\iterator\zip_iterator.h:141:22: note: in instantiation of template class 'thrust::detail::zip_iterator_base<thrust::tuple<thrust::device_ptr<const double>, thrust::device_ptr<const double>, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type> >' requested here
    : public detail::zip_iterator_base<IteratorTuple>::type
                     ^
C:\Users\intel\Downloads\cuda code\h2o4gpu-master\src\include\prox_lib.h:729:7: note: in instantiation of template class 'thrust::zip_iterator<thrust::tuple<thrust::device_ptr<const double>, thrust::device_ptr<const double>, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type> >' requested here
      thrust::make_zip_iterator(thrust::make_tuple(
      ^
C:\Users\intel\Downloads\cuda code\h2o4gpu-master\src\gpu\h2o4gpuglm.cu:367:4: note: in instantiation of function template specialization 'ProjSubgradEval<double>' requested here
                        ProjSubgradEval(g_gpu, xprev.data, x.data, xtemp.data);
                        ^
C:\Users\intel\Downloads\cuda code\h2o4gpu-master\src\gpu\h2o4gpuglm.cu:989:16: note: in instantiation of member function 'h2o4gpu::H2O4GPU<double, h2o4gpu::MatrixDense<double>, h2o4gpu::ProjectorDirect<double, h2o4gpu::MatrixDense<double> > >::Solve' requested here
template class H2O4GPU<double, MatrixDense<double>,
               ^
C:\nvcc\include\thrust\device_ptr.h:37:28: note: template is declared here
template<typename T> class device_reference;
                           ^
In file included from C:\Users\intel\Downloads\cuda code\h2o4gpu-master\src\gpu\h2o4gpuglm.cu:4:
In file included from C:\Users\intel\Downloads\cuda code\h2o4gpu-master\src\include\solver\glm.h:77:
In file included from C:\Users\intel\Downloads\cuda code\h2o4gpu-master\src\include\prox_lib.h:14:
In file included from C:\nvcc\include\thrust\device_vector.h:25:
In file included from C:\nvcc\include\thrust\detail\vector_base.h:29:
In file included from C:\nvcc\include\thrust\detail\contiguous_storage.h:240:
In file included from C:\nvcc\include\thrust\detail\contiguous_storage.inl:22:
In file included from C:\nvcc\include\thrust\detail\allocator\copy_construct_range.h:46:
In file included from C:\nvcc\include\thrust\detail\allocator\copy_construct_range.inl:22:
In file included from C:\nvcc\include\thrust\tuple.h:34:
C:\nvcc\include\thrust\detail\tuple.inl:373:20: error: implicit instantiation of undefined template 'thrust::device_reference<const double>'
  stored_head_type head;
                   ^
C:\nvcc\include\thrust\detail\tuple.inl:257:13: note: in instantiation of template class 'thrust::detail::cons<thrust::device_reference<const double>, thrust::null_type>' requested here
  tail_type tail;
            ^
C:\nvcc\include\thrust\tuple.h:198:12: note: in instantiation of template class 'thrust::detail::cons<thrust::device_reference<const double>, thrust::detail::cons<thrust::device_reference<const double>, thrust::null_type> >' requested here
    public detail::map_tuple_to_cons<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9>::type
           ^
C:\nvcc\include\thrust\tuple.h:90:52: note: in instantiation of template class 'thrust::tuple<thrust::device_reference<const double>, thrust::device_reference<const double>, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type>' requested here
  static const int value = 1 + tuple_size<typename T::tail_type>::value;
                                                   ^
C:\nvcc\include\thrust\iterator\detail\zip_iterator_base.h:299:14: note: in instantiation of template class 'thrust::tuple_size<thrust::tuple<thrust::device_reference<const double>, thrust::device_reference<const double>, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type> >' requested here
        (i < tuple_size<Tuple>::value),
             ^
C:\nvcc\include\thrust\iterator\detail\zip_iterator_base.h:309:20: note: in instantiation of template class 'thrust::detail::zip_iterator_base_ns::tuple_elements_helper<0, thrust::tuple<thrust::device_reference<const double>, thrust::device_reference<const double>, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type> >' requested here
  typedef typename tuple_elements_helper<0,Tuple>::type T0;
                   ^
C:\nvcc\include\thrust\iterator\detail\zip_iterator_base.h:336:14: note: (skipping 1 context in backtrace; use -ftemplate-backtrace-limit=0 to see all)
    typename elements::T0,
             ^
C:\nvcc\include\thrust\iterator\detail\zip_iterator_base.h:365:44: note: in instantiation of template class 'thrust::detail::zip_iterator_base_ns::tuple_of_iterator_references<thrust::tuple<thrust::device_ptr<const double>, thrust::device_ptr<const double>, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type> >' requested here
    typedef typename zip_iterator_base_ns::tuple_of_iterator_references<IteratorTuple>::type reference;
                                           ^
C:\nvcc\include\thrust\iterator\zip_iterator.h:141:22: note: in instantiation of template class 'thrust::detail::zip_iterator_base<thrust::tuple<thrust::device_ptr<const double>, thrust::device_ptr<const double>, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type> >' requested here
    : public detail::zip_iterator_base<IteratorTuple>::type
                     ^
C:\Users\intel\Downloads\cuda code\h2o4gpu-master\src\include\prox_lib.h:729:7: note: in instantiation of template class 'thrust::zip_iterator<thrust::tuple<thrust::device_ptr<const double>, thrust::device_ptr<const double>, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type> >' requested here
      thrust::make_zip_iterator(thrust::make_tuple(
      ^
C:\Users\intel\Downloads\cuda code\h2o4gpu-master\src\gpu\h2o4gpuglm.cu:367:4: note: in instantiation of function template specialization 'ProjSubgradEval<double>' requested here
                        ProjSubgradEval(g_gpu, xprev.data, x.data, xtemp.data);
                        ^
C:\Users\intel\Downloads\cuda code\h2o4gpu-master\src\gpu\h2o4gpuglm.cu:989:16: note: in instantiation of member function 'h2o4gpu::H2O4GPU<double, h2o4gpu::MatrixDense<double>, h2o4gpu::ProjectorDirect<double, h2o4gpu::MatrixDense<double> > >::Solve' requested here
template class H2O4GPU<double, MatrixDense<double>,
               ^
C:\nvcc\include\thrust\device_ptr.h:37:28: note: template is declared here
template<typename T> class device_reference;
                           ^
In file included from C:\Users\intel\Downloads\cuda code\h2o4gpu-master\src\gpu\h2o4gpuglm.cu:4:
In file included from C:\Users\intel\Downloads\cuda code\h2o4gpu-master\src\include\solver\glm.h:77:
C:\Users\intel\Downloads\cuda code\h2o4gpu-master\src\include\prox_lib.h:700:7: error: no matching conversion for functional-style cast from 'double' to 'ProxEvalF<double>'
      ProxEvalF<T>(rho));
      ^~~~~~~~~~~~~~~~
C:\Users\intel\Downloads\cuda code\h2o4gpu-master\src\gpu\h2o4gpuglm.cu:443:3: note: in instantiation of function template specialization 'ProxEval<double>' requested here
                ProxEval(g_gpu, _rho, x.data, x12.data); // Evaluate g(rho,x)->x12 (x^{1/2} in paper)
                ^
C:\Users\intel\Downloads\cuda code\h2o4gpu-master\src\gpu\h2o4gpuglm.cu:989:16: note: in instantiation of member function 'h2o4gpu::H2O4GPU<double, h2o4gpu::MatrixDense<double>, h2o4gpu::ProjectorDirect<double, h2o4gpu::MatrixDense<double> > >::Solve' requested here
template class H2O4GPU<double, MatrixDense<double>,
               ^
C:\Users\intel\Downloads\cuda code\h2o4gpu-master\src\include\prox_lib.h:687:8: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'double' to 'const ProxEvalF<double>' for 1st argument
struct ProxEvalF : thrust::binary_function<FunctionObj<T>, T, T> {
       ^
C:\Users\intel\Downloads\cuda code\h2o4gpu-master\src\include\prox_lib.h:687:8: note: candidate constructor (the implicit move constructor) not viable: no known conversion from 'double' to 'ProxEvalF<double>' for 1st argument
struct ProxEvalF : thrust::binary_function<FunctionObj<T>, T, T> {
       ^
C:\Users\intel\Downloads\cuda code\h2o4gpu-master\src\include\prox_lib.h:689:14: note: candidate constructor not viable: call to __device__ function from __host__ function
  __device__ ProxEvalF(T rho) : rho(rho) { }
             ^
In file included from C:\Users\intel\Downloads\cuda code\h2o4gpu-master\src\gpu\h2o4gpuglm.cu:4:
In file included from C:\Users\intel\Downloads\cuda code\h2o4gpu-master\src\include\solver\glm.h:77:
In file included from C:\Users\intel\Downloads\cuda code\h2o4gpu-master\src\include\prox_lib.h:14:
In file included from C:\nvcc\include\thrust\device_vector.h:25:
In file included from C:\nvcc\include\thrust\detail\vector_base.h:29:
In file included from C:\nvcc\include\thrust\detail\contiguous_storage.h:240:
In file included from C:\nvcc\include\thrust\detail\contiguous_storage.inl:22:
In file included from C:\nvcc\include\thrust\detail\allocator\copy_construct_range.h:46:
In file included from C:\nvcc\include\thrust\detail\allocator\copy_construct_range.inl:26:
In file included from C:\nvcc\include\thrust\for_each.h:279:
In file included from C:\nvcc\include\thrust\detail\for_each.inl:27:
In file included from C:\nvcc\include\thrust\system\detail\adl\for_each.h:42:
In file included from C:\nvcc\include\thrust\system\cuda\detail\for_each.h:34:
C:\nvcc\include\thrust\system\cuda\detail\util.h:311:15: error: implicit instantiation of undefined template 'thrust::device_reference<double>'
    return op(input);
              ^
C:\nvcc\include\thrust\system\cuda\detail\cub\agent\agent_reduce.cuh:290:32: note: in instantiation of member function 'thrust::cuda_cub::transform_input_iterator_t<double, thrust::permutation_iterator<thrust::device_ptr<double>, thrust::transform_iterator<cml::strided_range<thrust::device_ptr<double> >::StrideF, thrust::counting_iterator<long long, thrust::use_default, thrust::use_default, thrust::use_default>, thrust::use_default, thrust::use_default> >, cml::Square<double> >::operator[]' requested here
            thread_aggregate = d_wrapped_in[block_offset + thread_offset];
                               ^
C:\nvcc\include\thrust\system\cuda\detail\cub\agent\agent_reduce.cuh:322:13: note: in instantiation of function template specialization 'thrust::cuda_cub::cub::AgentReduce<thrust::cuda_cub::cub::AgentReducePolicy<64, 8, 2, thrust::cuda_cub::cub::BLOCK_REDUCE_RAKING, thrust::cuda_cub::cub::LOAD_DEFAULT>, thrust::cuda_cub::transform_input_iterator_t<double, thrust::permutation_iterator<thrust::device_ptr<double>, thrust::transform_iterator<cml::strided_range<thrust::device_ptr<double> >::StrideF, thrust::counting_iterator<long long, thrust::use_default, thrust::use_default, thrust::use_default>, thrust::use_default, thrust::use_default> >, cml::Square<double> >, double *, int, thrust::plus<double> >::ConsumeTile<1, 0>' requested here
            ConsumeTile<true>(thread_aggregate, even_share.block_offset, valid_items, Int2Type<false>(), can_vectorize);
            ^
C:\nvcc\include\thrust\system\cuda\detail\cub\agent\agent_reduce.cuh:360:13: note: in instantiation of function template specialization 'thrust::cuda_cub::cub::AgentReduce<thrust::cuda_cub::cub::AgentReducePolicy<64, 8, 2, thrust::cuda_cub::cub::BLOCK_REDUCE_RAKING, thrust::cuda_cub::cub::LOAD_DEFAULT>, thrust::cuda_cub::transform_input_iterator_t<double, thrust::permutation_iterator<thrust::device_ptr<double>, thrust::transform_iterator<cml::strided_range<thrust::device_ptr<double> >::StrideF, thrust::counting_iterator<long long, thrust::use_default, thrust::use_default, thrust::use_default>, thrust::use_default, thrust::use_default> >, cml::Square<double> >, double *, int, thrust::plus<double> >::ConsumeRange<0>' requested here
            ConsumeRange(even_share, Int2Type<true && ATTEMPT_VECTORIZATION>()) :
            ^
C:\nvcc\include\thrust\system\cuda\detail\cub\device\dispatch\dispatch_reduce.cuh:141:78: note: in instantiation of member function 'thrust::cuda_cub::cub::AgentReduce<thrust::cuda_cub::cub::AgentReducePolicy<64, 8, 2, thrust::cuda_cub::cub::BLOCK_REDUCE_RAKING, thrust::cuda_cub::cub::LOAD_DEFAULT>, thrust::cuda_cub::transform_input_iterator_t<double, thrust::permutation_iterator<thrust::device_ptr<double>, thrust::transform_iterator<cml::strided_range<thrust::device_ptr<double> >::StrideF, thrust::counting_iterator<long long, thrust::use_default, thrust::use_default, thrust::use_default>, thrust::use_default, thrust::use_default> >, cml::Square<double> >, double *, int, thrust::plus<double> >::ConsumeRange' requested here
    OutputT block_aggregate = AgentReduceT(temp_storage, d_in, reduction_op).ConsumeRange(
                                                                             ^
C:\nvcc\include\thrust\system\cuda\detail\cub\device\dispatch\dispatch_reduce.cuh:599:17: note: in instantiation of function template specialization 'thrust::cuda_cub::cub::DeviceReduceSingleTileKernel<thrust::cuda_cub::cub::DeviceReducePolicy<double, int, thrust::plus<double> >::Policy600, thrust::cuda_cub::transform_input_iterator_t<double, thrust::permutation_iterator<thrust::device_ptr<double>, thrust::transform_iterator<cml::strided_range<thrust::device_ptr<double> >::StrideF, thrust::counting_iterator<long long, thrust::use_default, thrust::use_default, thrust::use_default>, thrust::use_default, thrust::use_default> >, cml::Square<double> >, double *, int, thrust::plus<double>, double>' requested here
                DeviceReduceSingleTileKernel<MaxPolicyT, InputIteratorT, OutputIteratorT, OffsetT, ReductionOpT, OutputT>);
                ^
C:/nvcc/include\thrust/system/cuda/detail/cub/device/dispatch/../../util_device.cuh:332:28: note: (skipping 10 contexts in backtrace; use -ftemplate-backtrace-limit=0 to see all)
        return op.template Invoke<PolicyT>();
                           ^
C:\nvcc\include\thrust\detail\transform_reduce.inl:47:10: note: in instantiation of function template specialization 'thrust::cuda_cub::transform_reduce<thrust::cuda_cub::tag, thrust::permutation_iterator<thrust::device_ptr<double>, thrust::transform_iterator<cml::strided_range<thrust::device_ptr<double> >::StrideF, thrust::counting_iterator<long long, thrust::use_default, thrust::use_default, thrust::use_default>, thrust::use_default, thrust::use_default> >, cml::Square<double>, double, thrust::plus<double> >' requested here
  return transform_reduce(thrust::detail::derived_cast(thrust::detail::strip_const(exec)), first, last, unary_op, init, binary_op);
         ^
C:\nvcc\include\thrust\detail\transform_reduce.inl:67:18: note: in instantiation of function template specialization 'thrust::transform_reduce<thrust::cuda_cub::tag, thrust::permutation_iterator<thrust::device_ptr<double>, thrust::transform_iterator<cml::strided_range<thrust::device_ptr<double> >::StrideF, thrust::counting_iterator<long long, thrust::use_default, thrust::use_default, thrust::use_default>, thrust::use_default, thrust::use_default> >, cml::Square<double>, double, thrust::plus<double> >' requested here
  return thrust::transform_reduce(select_system(system), first, last, unary_op, init, binary_op);
                 ^
C:\Users\intel\Downloads\cuda code\h2o4gpu-master\src\gpu\include\cml\cml_blas.cuh:155:25: note: in instantiation of function template specialization 'thrust::transform_reduce<thrust::permutation_iterator<thrust::device_ptr<double>, thrust::transform_iterator<cml::strided_range<thrust::device_ptr<double> >::StrideF, thrust::counting_iterator<long long, thrust::use_default, thrust::use_default, thrust::use_default>, thrust::use_default, thrust::use_default> >, cml::Square<double>, double, thrust::plus<double> >' requested here
  T nrm2 = sqrt(thrust::transform_reduce(strided_x.begin(), strided_x.end(),
                        ^
C:\Users\intel\Downloads\cuda code\h2o4gpu-master\src\gpu\h2o4gpuglm.cu:453:23: note: in instantiation of function template specialization 'cml::blas_nrm2<double>' requested here
                                + _rel_tol * cml::blas_nrm2(hdl, &z)
                                                  ^
C:\Users\intel\Downloads\cuda code\h2o4gpu-master\src\gpu\h2o4gpuglm.cu:989:16: note: in instantiation of member function 'h2o4gpu::H2O4GPU<double, h2o4gpu::MatrixDense<double>, h2o4gpu::ProjectorDirect<double, h2o4gpu::MatrixDense<double> > >::Solve' requested here
template class H2O4GPU<double, MatrixDense<double>,
               ^
C:\nvcc\include\thrust\device_ptr.h:37:28: note: template is declared here
template<typename T> class device_reference;
                           ^
In file included from C:\Users\intel\Downloads\cuda code\h2o4gpu-master\src\gpu\h2o4gpuglm.cu:4:
In file included from C:\Users\intel\Downloads\cuda code\h2o4gpu-master\src\include\solver\glm.h:77:
In file included from C:\Users\intel\Downloads\cuda code\h2o4gpu-master\src\include\prox_lib.h:14:
In file included from C:\nvcc\include\thrust\device_vector.h:25:
In file included from C:\nvcc\include\thrust\detail\vector_base.h:25:
In file included from C:\nvcc\include\thrust\iterator\detail\normal_iterator.h:25:
In file included from C:\nvcc\include\thrust\iterator\iterator_adaptor.h:36:
C:\nvcc\include\thrust\iterator\iterator_facade.h:326:15: error: implicit instantiation of undefined template 'thrust::device_reference<double>'
    reference operator[](difference_type n) const
              ^
C:\nvcc\include\thrust\system\cuda\detail\util.h:311:15: note: in instantiation of member function 'thrust::iterator_facade<thrust::permutation_iterator<thrust::device_ptr<double>, thrust::transform_iterator<cml::strided_range<thrust::device_ptr<double> >::StrideF, thrust::counting_iterator<long long, thrust::use_default, thrust::use_default, thrust::use_default>, thrust::use_default, thrust::use_default> >, double, thrust::cuda_cub::tag, thrust::random_access_traversal_tag, thrust::device_reference<double>, long long>::operator[]' requested here
    return op(input);
              ^
C:\nvcc\include\thrust\system\cuda\detail\cub\agent\agent_reduce.cuh:290:32: note: in instantiation of member function 'thrust::cuda_cub::transform_input_iterator_t<double, thrust::permutation_iterator<thrust::device_ptr<double>, thrust::transform_iterator<cml::strided_range<thrust::device_ptr<double> >::StrideF, thrust::counting_iterator<long long, thrust::use_default, thrust::use_default, thrust::use_default>, thrust::use_default, thrust::use_default> >, cml::Square<double> >::operator[]' requested here
            thread_aggregate = d_wrapped_in[block_offset + thread_offset];
                               ^
C:\nvcc\include\thrust\system\cuda\detail\cub\agent\agent_reduce.cuh:322:13: note: in instantiation of function template specialization 'thrust::cuda_cub::cub::AgentReduce<thrust::cuda_cub::cub::AgentReducePolicy<64, 8, 2, thrust::cuda_cub::cub::BLOCK_REDUCE_RAKING, thrust::cuda_cub::cub::LOAD_DEFAULT>, thrust::cuda_cub::transform_input_iterator_t<double, thrust::permutation_iterator<thrust::device_ptr<double>, thrust::transform_iterator<cml::strided_range<thrust::device_ptr<double> >::StrideF, thrust::counting_iterator<long long, thrust::use_default, thrust::use_default, thrust::use_default>, thrust::use_default, thrust::use_default> >, cml::Square<double> >, double *, int, thrust::plus<double> >::ConsumeTile<1, 0>' requested here
            ConsumeTile<true>(thread_aggregate, even_share.block_offset, valid_items, Int2Type<false>(), can_vectorize);
            ^
C:\nvcc\include\thrust\system\cuda\detail\cub\agent\agent_reduce.cuh:360:13: note: in instantiation of function template specialization 'thrust::cuda_cub::cub::AgentReduce<thrust::cuda_cub::cub::AgentReducePolicy<64, 8, 2, thrust::cuda_cub::cub::BLOCK_REDUCE_RAKING, thrust::cuda_cub::cub::LOAD_DEFAULT>, thrust::cuda_cub::transform_input_iterator_t<double, thrust::permutation_iterator<thrust::device_ptr<double>, thrust::transform_iterator<cml::strided_range<thrust::device_ptr<double> >::StrideF, thrust::counting_iterator<long long, thrust::use_default, thrust::use_default, thrust::use_default>, thrust::use_default, thrust::use_default> >, cml::Square<double> >, double *, int, thrust::plus<double> >::ConsumeRange<0>' requested here
            ConsumeRange(even_share, Int2Type<true && ATTEMPT_VECTORIZATION>()) :
            ^
C:\nvcc\include\thrust\system\cuda\detail\cub\device\dispatch\dispatch_reduce.cuh:141:78: note: in instantiation of member function 'thrust::cuda_cub::cub::AgentReduce<thrust::cuda_cub::cub::AgentReducePolicy<64, 8, 2, thrust::cuda_cub::cub::BLOCK_REDUCE_RAKING, thrust::cuda_cub::cub::LOAD_DEFAULT>, thrust::cuda_cub::transform_input_iterator_t<double, thrust::permutation_iterator<thrust::device_ptr<double>, thrust::transform_iterator<cml::strided_range<thrust::device_ptr<double> >::StrideF, thrust::counting_iterator<long long, thrust::use_default, thrust::use_default, thrust::use_default>, thrust::use_default, thrust::use_default> >, cml::Square<double> >, double *, int, thrust::plus<double> >::ConsumeRange' requested here
    OutputT block_aggregate = AgentReduceT(temp_storage, d_in, reduction_op).ConsumeRange(
                                                                             ^
C:\nvcc\include\thrust\system\cuda\detail\cub\device\dispatch\dispatch_reduce.cuh:599:17: note: (skipping 11 contexts in backtrace; use -ftemplate-backtrace-limit=0 to see all)
                DeviceReduceSingleTileKernel<MaxPolicyT, InputIteratorT, OutputIteratorT, OffsetT, ReductionOpT, OutputT>);
                ^
C:\nvcc\include\thrust\detail\transform_reduce.inl:47:10: note: in instantiation of function template specialization 'thrust::cuda_cub::transform_reduce<thrust::cuda_cub::tag, thrust::permutation_iterator<thrust::device_ptr<double>, thrust::transform_iterator<cml::strided_range<thrust::device_ptr<double> >::StrideF, thrust::counting_iterator<long long, thrust::use_default, thrust::use_default, thrust::use_default>, thrust::use_default, thrust::use_default> >, cml::Square<double>, double, thrust::plus<double> >' requested here
  return transform_reduce(thrust::detail::derived_cast(thrust::detail::strip_const(exec)), first, last, unary_op, init, binary_op);
         ^
C:\nvcc\include\thrust\detail\transform_reduce.inl:67:18: note: in instantiation of function template specialization 'thrust::transform_reduce<thrust::cuda_cub::tag, thrust::permutation_iterator<thrust::device_ptr<double>, thrust::transform_iterator<cml::strided_range<thrust::device_ptr<double> >::StrideF, thrust::counting_iterator<long long, thrust::use_default, thrust::use_default, thrust::use_default>, thrust::use_default, thrust::use_default> >, cml::Square<double>, double, thrust::plus<double> >' requested here
  return thrust::transform_reduce(select_system(system), first, last, unary_op, init, binary_op);
                 ^
C:\Users\intel\Downloads\cuda code\h2o4gpu-master\src\gpu\include\cml\cml_blas.cuh:155:25: note: in instantiation of function template specialization 'thrust::transform_reduce<thrust::permutation_iterator<thrust::device_ptr<double>, thrust::transform_iterator<cml::strided_range<thrust::device_ptr<double> >::StrideF, thrust::counting_iterator<long long, thrust::use_default, thrust::use_default, thrust::use_default>, thrust::use_default, thrust::use_default> >, cml::Square<double>, double, thrust::plus<double> >' requested here
  T nrm2 = sqrt(thrust::transform_reduce(strided_x.begin(), strided_x.end(),
                        ^
C:\Users\intel\Downloads\cuda code\h2o4gpu-master\src\gpu\h2o4gpuglm.cu:453:23: note: in instantiation of function template specialization 'cml::blas_nrm2<double>' requested here
                                + _rel_tol * cml::blas_nrm2(hdl, &z)
                                                  ^
C:\Users\intel\Downloads\cuda code\h2o4gpu-master\src\gpu\h2o4gpuglm.cu:989:16: note: in instantiation of member function 'h2o4gpu::H2O4GPU<double, h2o4gpu::MatrixDense<double>, h2o4gpu::ProjectorDirect<double, h2o4gpu::MatrixDense<double> > >::Solve' requested here
template class H2O4GPU<double, MatrixDense<double>,
               ^
C:\nvcc\include\thrust\device_ptr.h:37:28: note: template is declared here
template<typename T> class device_reference;
                           ^
In file included from C:\Users\intel\Downloads\cuda code\h2o4gpu-master\src\gpu\h2o4gpuglm.cu:4:
In file included from C:\Users\intel\Downloads\cuda code\h2o4gpu-master\src\include\solver\glm.h:77:
In file included from C:\Users\intel\Downloads\cuda code\h2o4gpu-master\src\include\prox_lib.h:14:
In file included from C:\nvcc\include\thrust\device_vector.h:25:
In file included from C:\nvcc\include\thrust\detail\vector_base.h:25:
In file included from C:\nvcc\include\thrust\iterator\detail\normal_iterator.h:25:
In file included from C:\nvcc\include\thrust\iterator\iterator_adaptor.h:36:
C:\nvcc\include\thrust\iterator\iterator_facade.h:328:14: error: implicit instantiation of undefined template 'thrust::device_reference<double>'
      return *(this->derived() + n);
             ^
C:\nvcc\include\thrust\device_ptr.h:37:28: note: template is declared here
template<typename T> class device_reference;
                           ^
In file included from C:\Users\intel\Downloads\cuda code\h2o4gpu-master\src\gpu\h2o4gpuglm.cu:4:
In file included from C:\Users\intel\Downloads\cuda code\h2o4gpu-master\src\include\solver\glm.h:77:
In file included from C:\Users\intel\Downloads\cuda code\h2o4gpu-master\src\include\prox_lib.h:14:
In file included from C:\nvcc\include\thrust\device_vector.h:25:
In file included from C:\nvcc\include\thrust\detail\vector_base.h:25:
In file included from C:\nvcc\include\thrust\iterator\detail\normal_iterator.h:25:
In file included from C:\nvcc\include\thrust\iterator\iterator_adaptor.h:36:
C:\nvcc\include\thrust\iterator\iterator_facade.h:308:15: error: implicit instantiation of undefined template 'thrust::device_reference<double>'
    reference operator*() const
              ^
C:\nvcc\include\thrust\iterator\iterator_facade.h:328:14: note: in instantiation of member function 'thrust::iterator_facade<thrust::permutation_iterator<thrust::device_ptr<double>, thrust::transform_iterator<cml::strided_range<thrust::device_ptr<double> >::StrideF, thrust::counting_iterator<long long, thrust::use_default, thrust::use_default, thrust::use_default>, thrust::use_default, thrust::use_default> >, double, thrust::cuda_cub::tag, thrust::random_access_traversal_tag, thrust::device_reference<double>, long long>::operator*' requested here
      return *(this->derived() + n);
             ^
C:\nvcc\include\thrust\system\cuda\detail\util.h:311:15: note: in instantiation of member function 'thrust::iterator_facade<thrust::permutation_iterator<thrust::device_ptr<double>, thrust::transform_iterator<cml::strided_range<thrust::device_ptr<double> >::StrideF, thrust::counting_iterator<long long, thrust::use_default, thrust::use_default, thrust::use_default>, thrust::use_default, thrust::use_default> >, double, thrust::cuda_cub::tag, thrust::random_access_traversal_tag, thrust::device_reference<double>, long long>::operator[]' requested here
    return op(input);
              ^
C:\nvcc\include\thrust\system\cuda\detail\cub\agent\agent_reduce.cuh:290:32: note: in instantiation of member function 'thrust::cuda_cub::transform_input_iterator_t<double, thrust::permutation_iterator<thrust::device_ptr<double>, thrust::transform_iterator<cml::strided_range<thrust::device_ptr<double> >::StrideF, thrust::counting_iterator<long long, thrust::use_default, thrust::use_default, thrust::use_default>, thrust::use_default, thrust::use_default> >, cml::Square<double> >::operator[]' requested here
            thread_aggregate = d_wrapped_in[block_offset + thread_offset];
                               ^
C:\nvcc\include\thrust\system\cuda\detail\cub\agent\agent_reduce.cuh:322:13: note: in instantiation of function template specialization 'thrust::cuda_cub::cub::AgentReduce<thrust::cuda_cub::cub::AgentReducePolicy<64, 8, 2, thrust::cuda_cub::cub::BLOCK_REDUCE_RAKING, thrust::cuda_cub::cub::LOAD_DEFAULT>, thrust::cuda_cub::transform_input_iterator_t<double, thrust::permutation_iterator<thrust::device_ptr<double>, thrust::transform_iterator<cml::strided_range<thrust::device_ptr<double> >::StrideF, thrust::counting_iterator<long long, thrust::use_default, thrust::use_default, thrust::use_default>, thrust::use_default, thrust::use_default> >, cml::Square<double> >, double *, int, thrust::plus<double> >::ConsumeTile<1, 0>' requested here
            ConsumeTile<true>(thread_aggregate, even_share.block_offset, valid_items, Int2Type<false>(), can_vectorize);
            ^
C:\nvcc\include\thrust\system\cuda\detail\cub\agent\agent_reduce.cuh:360:13: note: in instantiation of function template specialization 'thrust::cuda_cub::cub::AgentReduce<thrust::cuda_cub::cub::AgentReducePolicy<64, 8, 2, thrust::cuda_cub::cub::BLOCK_REDUCE_RAKING, thrust::cuda_cub::cub::LOAD_DEFAULT>, thrust::cuda_cub::transform_input_iterator_t<double, thrust::permutation_iterator<thrust::device_ptr<double>, thrust::transform_iterator<cml::strided_range<thrust::device_ptr<double> >::StrideF, thrust::counting_iterator<long long, thrust::use_default, thrust::use_default, thrust::use_default>, thrust::use_default, thrust::use_default> >, cml::Square<double> >, double *, int, thrust::plus<double> >::ConsumeRange<0>' requested here
            ConsumeRange(even_share, Int2Type<true && ATTEMPT_VECTORIZATION>()) :
            ^
C:\nvcc\include\thrust\system\cuda\detail\cub\device\dispatch\dispatch_reduce.cuh:141:78: note: (skipping 12 contexts in backtrace; use -ftemplate-backtrace-limit=0 to see all)
    OutputT block_aggregate = AgentReduceT(temp_storage, d_in, reduction_op).ConsumeRange(
                                                                             ^
C:\nvcc\include\thrust\detail\transform_reduce.inl:47:10: note: in instantiation of function template specialization 'thrust::cuda_cub::transform_reduce<thrust::cuda_cub::tag, thrust::permutation_iterator<thrust::device_ptr<double>, thrust::transform_iterator<cml::strided_range<thrust::device_ptr<double> >::StrideF, thrust::counting_iterator<long long, thrust::use_default, thrust::use_default, thrust::use_default>, thrust::use_default, thrust::use_default> >, cml::Square<double>, double, thrust::plus<double> >' requested here
  return transform_reduce(thrust::detail::derived_cast(thrust::detail::strip_const(exec)), first, last, unary_op, init, binary_op);
         ^
C:\nvcc\include\thrust\detail\transform_reduce.inl:67:18: note: in instantiation of function template specialization 'thrust::transform_reduce<thrust::cuda_cub::tag, thrust::permutation_iterator<thrust::device_ptr<double>, thrust::transform_iterator<cml::strided_range<thrust::device_ptr<double> >::StrideF, thrust::counting_iterator<long long, thrust::use_default, thrust::use_default, thrust::use_default>, thrust::use_default, thrust::use_default> >, cml::Square<double>, double, thrust::plus<double> >' requested here
  return thrust::transform_reduce(select_system(system), first, last, unary_op, init, binary_op);
                 ^
C:\Users\intel\Downloads\cuda code\h2o4gpu-master\src\gpu\include\cml\cml_blas.cuh:155:25: note: in instantiation of function template specialization 'thrust::transform_reduce<thrust::permutation_iterator<thrust::device_ptr<double>, thrust::transform_iterator<cml::strided_range<thrust::device_ptr<double> >::StrideF, thrust::counting_iterator<long long, thrust::use_default, thrust::use_default, thrust::use_default>, thrust::use_default, thrust::use_default> >, cml::Square<double>, double, thrust::plus<double> >' requested here
  T nrm2 = sqrt(thrust::transform_reduce(strided_x.begin(), strided_x.end(),
                        ^
C:\Users\intel\Downloads\cuda code\h2o4gpu-master\src\gpu\h2o4gpuglm.cu:453:23: note: in instantiation of function template specialization 'cml::blas_nrm2<double>' requested here
                                + _rel_tol * cml::blas_nrm2(hdl, &z)
                                                  ^
C:\Users\intel\Downloads\cuda code\h2o4gpu-master\src\gpu\h2o4gpuglm.cu:989:16: note: in instantiation of member function 'h2o4gpu::H2O4GPU<double, h2o4gpu::MatrixDense<double>, h2o4gpu::ProjectorDirect<double, h2o4gpu::MatrixDense<double> > >::Solve' requested here
template class H2O4GPU<double, MatrixDense<double>,
               ^
C:\nvcc\include\thrust\device_ptr.h:37:28: note: template is declared here
template<typename T> class device_reference;
                           ^
In file included from C:\Users\intel\Downloads\cuda code\h2o4gpu-master\src\gpu\h2o4gpuglm.cu:4:
In file included from C:\Users\intel\Downloads\cuda code\h2o4gpu-master\src\include\solver\glm.h:77:
In file included from C:\Users\intel\Downloads\cuda code\h2o4gpu-master\src\include\prox_lib.h:14:
In file included from C:\nvcc\include\thrust\device_vector.h:25:
In file included from C:\nvcc\include\thrust\detail\vector_base.h:25:
In file included from C:\nvcc\include\thrust\iterator\detail\normal_iterator.h:25:
In file included from C:\nvcc\include\thrust\iterator\iterator_adaptor.h:36:
C:\nvcc\include\thrust\iterator\iterator_facade.h:310:14: error: implicit instantiation of undefined template 'thrust::device_reference<double>'
      return iterator_core_access::dereference(this->derived());
             ^
C:\nvcc\include\thrust\device_ptr.h:37:28: note: template is declared here
template<typename T> class device_reference;
                           ^
In file included from C:\Users\intel\Downloads\cuda code\h2o4gpu-master\src\gpu\h2o4gpuglm.cu:4:
In file included from C:\Users\intel\Downloads\cuda code\h2o4gpu-master\src\include\solver\glm.h:77:
In file included from C:\Users\intel\Downloads\cuda code\h2o4gpu-master\src\include\prox_lib.h:14:
In file included from C:\nvcc\include\thrust\device_vector.h:25:
In file included from C:\nvcc\include\thrust\detail\vector_base.h:25:
In file included from C:\nvcc\include\thrust\iterator\detail\normal_iterator.h:25:
In file included from C:\nvcc\include\thrust\iterator\iterator_adaptor.h:36:
C:\nvcc\include\thrust\iterator\iterator_facade.h:126:39: error: implicit instantiation of undefined template 'thrust::device_reference<double>'
    static typename Facade::reference dereference(Facade const& f)
                                      ^
C:\nvcc\include\thrust\iterator\iterator_facade.h:310:36: note: in instantiation of function template specialization 'thrust::iterator_core_access::dereference<thrust::permutation_iterator<thrust::device_ptr<double>, thrust::transform_iterator<cml::strided_range<thrust::device_ptr<double> >::StrideF, thrust::counting_iterator<long long, thrust::use_default, thrust::use_default, thrust::use_default>, thrust::use_default, thrust::use_default> > >' requested here
      return iterator_core_access::dereference(this->derived());
                                   ^
C:\nvcc\include\thrust\iterator\iterator_facade.h:328:14: note: in instantiation of member function 'thrust::iterator_facade<thrust::permutation_iterator<thrust::device_ptr<double>, thrust::transform_iterator<cml::strided_range<thrust::device_ptr<double> >::StrideF, thrust::counting_iterator<long long, thrust::use_default, thrust::use_default, thrust::use_default>, thrust::use_default, thrust::use_default> >, double, thrust::cuda_cub::tag, thrust::random_access_traversal_tag, thrust::device_reference<double>, long long>::operator*' requested here
      return *(this->derived() + n);
             ^
C:\nvcc\include\thrust\system\cuda\detail\util.h:311:15: note: in instantiation of member function 'thrust::iterator_facade<thrust::permutation_iterator<thrust::device_ptr<double>, thrust::transform_iterator<cml::strided_range<thrust::device_ptr<double> >::StrideF, thrust::counting_iterator<long long, thrust::use_default, thrust::use_default, thrust::use_default>, thrust::use_default, thrust::use_default> >, double, thrust::cuda_cub::tag, thrust::random_access_traversal_tag, thrust::device_reference<double>, long long>::operator[]' requested here
    return op(input);
              ^
C:\nvcc\include\thrust\system\cuda\detail\cub\agent\agent_reduce.cuh:290:32: note: in instantiation of member function 'thrust::cuda_cub::transform_input_iterator_t<double, thrust::permutation_iterator<thrust::device_ptr<double>, thrust::transform_iterator<cml::strided_range<thrust::device_ptr<double> >::StrideF, thrust::counting_iterator<long long, thrust::use_default, thrust::use_default, thrust::use_default>, thrust::use_default, thrust::use_default> >, cml::Square<double> >::operator[]' requested here
            thread_aggregate = d_wrapped_in[block_offset + thread_offset];
                               ^
C:\nvcc\include\thrust\system\cuda\detail\cub\agent\agent_reduce.cuh:322:13: note: in instantiation of function template specialization 'thrust::cuda_cub::cub::AgentReduce<thrust::cuda_cub::cub::AgentReducePolicy<64, 8, 2, thrust::cuda_cub::cub::BLOCK_REDUCE_RAKING, thrust::cuda_cub::cub::LOAD_DEFAULT>, thrust::cuda_cub::transform_input_iterator_t<double, thrust::permutation_iterator<thrust::device_ptr<double>, thrust::transform_iterator<cml::strided_range<thrust::device_ptr<double> >::StrideF, thrust::counting_iterator<long long, thrust::use_default, thrust::use_default, thrust::use_default>, thrust::use_default, thrust::use_default> >, cml::Square<double> >, double *, int, thrust::plus<double> >::ConsumeTile<1, 0>' requested here
            ConsumeTile<true>(thread_aggregate, even_share.block_offset, valid_items, Int2Type<false>(), can_vectorize);
            ^
C:\nvcc\include\thrust\system\cuda\detail\cub\agent\agent_reduce.cuh:360:13: note: (skipping 13 contexts in backtrace; use -ftemplate-backtrace-limit=0 to see all)
            ConsumeRange(even_share, Int2Type<true && ATTEMPT_VECTORIZATION>()) :
            ^
C:\nvcc\include\thrust\detail\transform_reduce.inl:47:10: note: in instantiation of function template specialization 'thrust::cuda_cub::transform_reduce<thrust::cuda_cub::tag, thrust::permutation_iterator<thrust::device_ptr<double>, thrust::transform_iterator<cml::strided_range<thrust::device_ptr<double> >::StrideF, thrust::counting_iterator<long long, thrust::use_default, thrust::use_default, thrust::use_default>, thrust::use_default, thrust::use_default> >, cml::Square<double>, double, thrust::plus<double> >' requested here
  return transform_reduce(thrust::detail::derived_cast(thrust::detail::strip_const(exec)), first, last, unary_op, init, binary_op);
         ^
C:\nvcc\include\thrust\detail\transform_reduce.inl:67:18: note: in instantiation of function template specialization 'thrust::transform_reduce<thrust::cuda_cub::tag, thrust::permutation_iterator<thrust::device_ptr<double>, thrust::transform_iterator<cml::strided_range<thrust::device_ptr<double> >::StrideF, thrust::counting_iterator<long long, thrust::use_default, thrust::use_default, thrust::use_default>, thrust::use_default, thrust::use_default> >, cml::Square<double>, double, thrust::plus<double> >' requested here
  return thrust::transform_reduce(select_system(system), first, last, unary_op, init, binary_op);
                 ^
C:\Users\intel\Downloads\cuda code\h2o4gpu-master\src\gpu\include\cml\cml_blas.cuh:155:25: note: in instantiation of function template specialization 'thrust::transform_reduce<thrust::permutation_iterator<thrust::device_ptr<double>, thrust::transform_iterator<cml::strided_range<thrust::device_ptr<double> >::StrideF, thrust::counting_iterator<long long, thrust::use_default, thrust::use_default, thrust::use_default>, thrust::use_default, thrust::use_default> >, cml::Square<double>, double, thrust::plus<double> >' requested here
  T nrm2 = sqrt(thrust::transform_reduce(strided_x.begin(), strided_x.end(),
                        ^
C:\Users\intel\Downloads\cuda code\h2o4gpu-master\src\gpu\h2o4gpuglm.cu:453:23: note: in instantiation of function template specialization 'cml::blas_nrm2<double>' requested here
                                + _rel_tol * cml::blas_nrm2(hdl, &z)
                                                  ^
C:\Users\intel\Downloads\cuda code\h2o4gpu-master\src\gpu\h2o4gpuglm.cu:989:16: note: in instantiation of member function 'h2o4gpu::H2O4GPU<double, h2o4gpu::MatrixDense<double>, h2o4gpu::ProjectorDirect<double, h2o4gpu::MatrixDense<double> > >::Solve' requested here
template class H2O4GPU<double, MatrixDense<double>,
               ^
C:\nvcc\include\thrust\device_ptr.h:37:28: note: template is declared here
template<typename T> class device_reference;
                           ^
In file included from C:\Users\intel\Downloads\cuda code\h2o4gpu-master\src\gpu\h2o4gpuglm.cu:4:
In file included from C:\Users\intel\Downloads\cuda code\h2o4gpu-master\src\include\solver\glm.h:77:
In file included from C:\Users\intel\Downloads\cuda code\h2o4gpu-master\src\include\prox_lib.h:14:
In file included from C:\nvcc\include\thrust\device_vector.h:25:
In file included from C:\nvcc\include\thrust\detail\vector_base.h:25:
In file included from C:\nvcc\include\thrust\iterator\detail\normal_iterator.h:25:
In file included from C:\nvcc\include\thrust\iterator\iterator_adaptor.h:36:
C:\nvcc\include\thrust\iterator\iterator_facade.h:128:16: error: implicit instantiation of undefined template 'thrust::device_reference<double>'
      return f.dereference();
               ^
C:\nvcc\include\thrust\device_ptr.h:37:28: note: template is declared here
template<typename T> class device_reference;
                           ^
In file included from C:\Users\intel\Downloads\cuda code\h2o4gpu-master\src\gpu\h2o4gpuglm.cu:4:
In file included from C:\Users\intel\Downloads\cuda code\h2o4gpu-master\src\include\solver\glm.h:77:
In file included from C:\Users\intel\Downloads\cuda code\h2o4gpu-master\src\include\prox_lib.h:16:
In file included from C:\nvcc\include\thrust\inner_product.h:263:
In file included from C:\nvcc\include\thrust\detail\inner_product.inl:26:
In file included from C:\nvcc\include\thrust\system\detail\generic\inner_product.h:58:
In file included from C:\nvcc\include\thrust\system\detail\generic\inner_product.inl:21:
In file included from C:\nvcc\include\thrust\transform_reduce.h:197:
In file included from C:\nvcc\include\thrust\detail\transform_reduce.inl:25:
In file included from C:\nvcc\include\thrust\system\detail\generic\transform_reduce.h:52:
In file included from C:\nvcc\include\thrust\system\detail\generic\transform_reduce.inl:19:
In file included from C:\nvcc\include\thrust\reduce.h:784:
In file included from C:\nvcc\include\thrust\detail\reduce.inl:26:
In file included from C:\nvcc\include\thrust\system\detail\generic\reduce_by_key.h:88:
In file included from C:\nvcc\include\thrust\system\detail\generic\reduce_by_key.inl:30:
In file included from C:\nvcc\include\thrust\scatter.h:422:
In file included from C:\nvcc\include\thrust\detail\scatter.inl:25:
In file included from C:\nvcc\include\thrust\system\detail\generic\scatter.h:80:
In file included from C:\nvcc\include\thrust\system\detail\generic\scatter.inl:22:
C:\nvcc\include\thrust\iterator\permutation_iterator.h:177:33: error: implicit instantiation of undefined template 'thrust::device_reference<double>'
    typename super_t::reference dereference() const
                                ^
C:\nvcc\include\thrust\iterator\iterator_facade.h:128:16: note: in instantiation of member function 'thrust::permutation_iterator<thrust::device_ptr<double>, thrust::transform_iterator<cml::strided_range<thrust::device_ptr<double> >::StrideF, thrust::counting_iterator<long long, thrust::use_default, thrust::use_default, thrust::use_default>, thrust::use_default, thrust::use_default> >::dereference' requested here
      return f.dereference();
               ^
C:\nvcc\include\thrust\iterator\iterator_facade.h:310:36: note: in instantiation of function template specialization 'thrust::iterator_core_access::dereference<thrust::permutation_iterator<thrust::device_ptr<double>, thrust::transform_iterator<cml::strided_range<thrust::device_ptr<double> >::StrideF, thrust::counting_iterator<long long, thrust::use_default, thrust::use_default, thrust::use_default>, thrust::use_default, thrust::use_default> > >' requested here
      return iterator_core_access::dereference(this->derived());
                                   ^
C:\nvcc\include\thrust\iterator\iterator_facade.h:328:14: note: in instantiation of member function 'thrust::iterator_facade<thrust::permutation_iterator<thrust::device_ptr<double>, thrust::transform_iterator<cml::strided_range<thrust::device_ptr<double> >::StrideF, thrust::counting_iterator<long long, thrust::use_default, thrust::use_default, thrust::use_default>, thrust::use_default, thrust::use_default> >, double, thrust::cuda_cub::tag, thrust::random_access_traversal_tag, thrust::device_reference<double>, long long>::operator*' requested here
      return *(this->derived() + n);
             ^
C:\nvcc\include\thrust\system\cuda\detail\util.h:311:15: note: in instantiation of member function 'thrust::iterator_facade<thrust::permutation_iterator<thrust::device_ptr<double>, thrust::transform_iterator<cml::strided_range<thrust::device_ptr<double> >::StrideF, thrust::counting_iterator<long long, thrust::use_default, thrust::use_default, thrust::use_default>, thrust::use_default, thrust::use_default> >, double, thrust::cuda_cub::tag, thrust::random_access_traversal_tag, thrust::device_reference<double>, long long>::operator[]' requested here
    return op(input);
              ^
C:\nvcc\include\thrust\system\cuda\detail\cub\agent\agent_reduce.cuh:290:32: note: in instantiation of member function 'thrust::cuda_cub::transform_input_iterator_t<double, thrust::permutation_iterator<thrust::device_ptr<double>, thrust::transform_iterator<cml::strided_range<thrust::device_ptr<double> >::StrideF, thrust::counting_iterator<long long, thrust::use_default, thrust::use_default, thrust::use_default>, thrust::use_default, thrust::use_default> >, cml::Square<double> >::operator[]' requested here
            thread_aggregate = d_wrapped_in[block_offset + thread_offset];
                               ^
C:\nvcc\include\thrust\system\cuda\detail\cub\agent\agent_reduce.cuh:322:13: note: (skipping 14 contexts in backtrace; use -ftemplate-backtrace-limit=0 to see all)
            ConsumeTile<true>(thread_aggregate, even_share.block_offset, valid_items, Int2Type<false>(), can_vectorize);
            ^
C:\nvcc\include\thrust\detail\transform_reduce.inl:47:10: note: in instantiation of function template specialization 'thrust::cuda_cub::transform_reduce<thrust::cuda_cub::tag, thrust::permutation_iterator<thrust::device_ptr<double>, thrust::transform_iterator<cml::strided_range<thrust::device_ptr<double> >::StrideF, thrust::counting_iterator<long long, thrust::use_default, thrust::use_default, thrust::use_default>, thrust::use_default, thrust::use_default> >, cml::Square<double>, double, thrust::plus<double> >' requested here
  return transform_reduce(thrust::detail::derived_cast(thrust::detail::strip_const(exec)), first, last, unary_op, init, binary_op);
         ^
C:\nvcc\include\thrust\detail\transform_reduce.inl:67:18: note: in instantiation of function template specialization 'thrust::transform_reduce<thrust::cuda_cub::tag, thrust::permutation_iterator<thrust::device_ptr<double>, thrust::transform_iterator<cml::strided_range<thrust::device_ptr<double> >::StrideF, thrust::counting_iterator<long long, thrust::use_default, thrust::use_default, thrust::use_default>, thrust::use_default, thrust::use_default> >, cml::Square<double>, double, thrust::plus<double> >' requested here
  return thrust::transform_reduce(select_system(system), first, last, unary_op, init, binary_op);
                 ^
C:\Users\intel\Downloads\cuda code\h2o4gpu-master\src\gpu\include\cml\cml_blas.cuh:155:25: note: in instantiation of function template specialization 'thrust::transform_reduce<thrust::permutation_iterator<thrust::device_ptr<double>, thrust::transform_iterator<cml::strided_range<thrust::device_ptr<double> >::StrideF, thrust::counting_iterator<long long, thrust::use_default, thrust::use_default, thrust::use_default>, thrust::use_default, thrust::use_default> >, cml::Square<double>, double, thrust::plus<double> >' requested here
  T nrm2 = sqrt(thrust::transform_reduce(strided_x.begin(), strided_x.end(),
                        ^
C:\Users\intel\Downloads\cuda code\h2o4gpu-master\src\gpu\h2o4gpuglm.cu:453:23: note: in instantiation of function template specialization 'cml::blas_nrm2<double>' requested here
                                + _rel_tol * cml::blas_nrm2(hdl, &z)
                                                  ^
C:\Users\intel\Downloads\cuda code\h2o4gpu-master\src\gpu\h2o4gpuglm.cu:989:16: note: in instantiation of member function 'h2o4gpu::H2O4GPU<double, h2o4gpu::MatrixDense<double>, h2o4gpu::ProjectorDirect<double, h2o4gpu::MatrixDense<double> > >::Solve' requested here
template class H2O4GPU<double, MatrixDense<double>,
               ^
C:\nvcc\include\thrust\device_ptr.h:37:28: note: template is declared here
template<typename T> class device_reference;
                           ^
In file included from C:\Users\intel\Downloads\cuda code\h2o4gpu-master\src\gpu\h2o4gpuglm.cu:4:
In file included from C:\Users\intel\Downloads\cuda code\h2o4gpu-master\src\include\solver\glm.h:77:
In file included from C:\Users\intel\Downloads\cuda code\h2o4gpu-master\src\include\prox_lib.h:16:
In file included from C:\nvcc\include\thrust\inner_product.h:263:
In file included from C:\nvcc\include\thrust\detail\inner_product.inl:26:
In file included from C:\nvcc\include\thrust\system\detail\generic\inner_product.h:58:
In file included from C:\nvcc\include\thrust\system\detail\generic\inner_product.inl:21:
In file included from C:\nvcc\include\thrust\transform_reduce.h:197:
In file included from C:\nvcc\include\thrust\detail\transform_reduce.inl:25:
In file included from C:\nvcc\include\thrust\system\detail\generic\transform_reduce.h:52:
In file included from C:\nvcc\include\thrust\system\detail\generic\transform_reduce.inl:19:
In file included from C:\nvcc\include\thrust\reduce.h:784:
In file included from C:\nvcc\include\thrust\detail\reduce.inl:26:
In file included from C:\nvcc\include\thrust\system\detail\generic\reduce_by_key.h:88:
In file included from C:\nvcc\include\thrust\system\detail\generic\reduce_by_key.inl:30:
In file included from C:\nvcc\include\thrust\scatter.h:422:
In file included from C:\nvcc\include\thrust\detail\scatter.inl:25:
In file included from C:\nvcc\include\thrust\system\detail\generic\scatter.h:80:
In file included from C:\nvcc\include\thrust\system\detail\generic\scatter.inl:22:
C:\nvcc\include\thrust\iterator\permutation_iterator.h:179:14: error: implicit instantiation of undefined template 'thrust::device_reference<double>'
      return *(m_element_iterator + *this->base());
             ^
C:\nvcc\include\thrust\device_ptr.h:37:28: note: template is declared here
template<typename T> class device_reference;
                           ^
In file included from C:\Users\intel\Downloads\cuda code\h2o4gpu-master\src\gpu\h2o4gpuglm.cu:4:
In file included from C:\Users\intel\Downloads\cuda code\h2o4gpu-master\src\include\solver\glm.h:77:
In file included from C:\Users\intel\Downloads\cuda code\h2o4gpu-master\src\include\prox_lib.h:14:
In file included from C:\nvcc\include\thrust\device_vector.h:25:
In file included from C:\nvcc\include\thrust\detail\vector_base.h:25:
In file included from C:\nvcc\include\thrust\iterator\detail\normal_iterator.h:25:
In file included from C:\nvcc\include\thrust\iterator\iterator_adaptor.h:36:
C:\nvcc\include\thrust\iterator\iterator_facade.h:308:15: error: implicit instantiation of undefined template 'thrust::device_reference<double>'
    reference operator*() const
              ^
C:\nvcc\include\thrust\iterator\permutation_iterator.h:179:14: note: in instantiation of member function 'thrust::iterator_facade<thrust::device_ptr<double>, double, thrust::cuda_cub::tag, thrust::random_access_traversal_tag, thrust::device_reference<double>, long long>::operator*' requested here
      return *(m_element_iterator + *this->base());
             ^
C:\nvcc\include\thrust\iterator\iterator_facade.h:128:16: note: in instantiation of member function 'thrust::permutation_iterator<thrust::device_ptr<double>, thrust::transform_iterator<cml::strided_range<thrust::device_ptr<double> >::StrideF, thrust::counting_iterator<long long, thrust::use_default, thrust::use_default, thrust::use_default>, thrust::use_default, thrust::use_default> >::dereference' requested here
      return f.dereference();
               ^
C:\nvcc\include\thrust\iterator\iterator_facade.h:310:36: note: in instantiation of function template specialization 'thrust::iterator_core_access::dereference<thrust::permutation_iterator<thrust::device_ptr<double>, thrust::transform_iterator<cml::strided_range<thrust::device_ptr<double> >::StrideF, thrust::counting_iterator<long long, thrust::use_default, thrust::use_default, thrust::use_default>, thrust::use_default, thrust::use_default> > >' requested here
      return iterator_core_access::dereference(this->derived());
                                   ^
C:\nvcc\include\thrust\iterator\iterator_facade.h:328:14: note: in instantiation of member function 'thrust::iterator_facade<thrust::permutation_iterator<thrust::device_ptr<double>, thrust::transform_iterator<cml::strided_range<thrust::device_ptr<double> >::StrideF, thrust::counting_iterator<long long, thrust::use_default, thrust::use_default, thrust::use_default>, thrust::use_default, thrust::use_default> >, double, thrust::cuda_cub::tag, thrust::random_access_traversal_tag, thrust::device_reference<double>, long long>::operator*' requested here
      return *(this->derived() + n);
             ^
C:\nvcc\include\thrust\system\cuda\detail\util.h:311:15: note: in instantiation of member function 'thrust::iterator_facade<thrust::permutation_iterator<thrust::device_ptr<double>, thrust::transform_iterator<cml::strided_range<thrust::device_ptr<double> >::StrideF, thrust::counting_iterator<long long, thrust::use_default, thrust::use_default, thrust::use_default>, thrust::use_default, thrust::use_default> >, double, thrust::cuda_cub::tag, thrust::random_access_traversal_tag, thrust::device_reference<double>, long long>::operator[]' requested here
    return op(input);
              ^
C:\nvcc\include\thrust\system\cuda\detail\cub\agent\agent_reduce.cuh:290:32: note: (skipping 15 contexts in backtrace; use -ftemplate-backtrace-limit=0 to see all)
            thread_aggregate = d_wrapped_in[block_offset + thread_offset];
                               ^
C:\nvcc\include\thrust\detail\transform_reduce.inl:47:10: note: in instantiation of function template specialization 'thrust::cuda_cub::transform_reduce<thrust::cuda_cub::tag, thrust::permutation_iterator<thrust::device_ptr<double>, thrust::transform_iterator<cml::strided_range<thrust::device_ptr<double> >::StrideF, thrust::counting_iterator<long long, thrust::use_default, thrust::use_default, thrust::use_default>, thrust::use_default, thrust::use_default> >, cml::Square<double>, double, thrust::plus<double> >' requested here
  return transform_reduce(thrust::detail::derived_cast(thrust::detail::strip_const(exec)), first, last, unary_op, init, binary_op);
         ^
C:\nvcc\include\thrust\detail\transform_reduce.inl:67:18: note: in instantiation of function template specialization 'thrust::transform_reduce<thrust::cuda_cub::tag, thrust::permutation_iterator<thrust::device_ptr<double>, thrust::transform_iterator<cml::strided_range<thrust::device_ptr<double> >::StrideF, thrust::counting_iterator<long long, thrust::use_default, thrust::use_default, thrust::use_default>, thrust::use_default, thrust::use_default> >, cml::Square<double>, double, thrust::plus<double> >' requested here
  return thrust::transform_reduce(select_system(system), first, last, unary_op, init, binary_op);
                 ^
C:\Users\intel\Downloads\cuda code\h2o4gpu-master\src\gpu\include\cml\cml_blas.cuh:155:25: note: in instantiation of function template specialization 'thrust::transform_reduce<thrust::permutation_iterator<thrust::device_ptr<double>, thrust::transform_iterator<cml::strided_range<thrust::device_ptr<double> >::StrideF, thrust::counting_iterator<long long, thrust::use_default, thrust::use_default, thrust::use_default>, thrust::use_default, thrust::use_default> >, cml::Square<double>, double, thrust::plus<double> >' requested here
  T nrm2 = sqrt(thrust::transform_reduce(strided_x.begin(), strided_x.end(),
                        ^
C:\Users\intel\Downloads\cuda code\h2o4gpu-master\src\gpu\h2o4gpuglm.cu:453:23: note: in instantiation of function template specialization 'cml::blas_nrm2<double>' requested here
                                + _rel_tol * cml::blas_nrm2(hdl, &z)
                                                  ^
C:\Users\intel\Downloads\cuda code\h2o4gpu-master\src\gpu\h2o4gpuglm.cu:989:16: note: in instantiation of member function 'h2o4gpu::H2O4GPU<double, h2o4gpu::MatrixDense<double>, h2o4gpu::ProjectorDirect<double, h2o4gpu::MatrixDense<double> > >::Solve' requested here
template class H2O4GPU<double, MatrixDense<double>,
               ^
C:\nvcc\include\thrust\device_ptr.h:37:28: note: template is declared here
template<typename T> class device_reference;
                           ^
In file included from C:\Users\intel\Downloads\cuda code\h2o4gpu-master\src\gpu\h2o4gpuglm.cu:4:
In file included from C:\Users\intel\Downloads\cuda code\h2o4gpu-master\src\include\solver\glm.h:77:
In file included from C:\Users\intel\Downloads\cuda code\h2o4gpu-master\src\include\prox_lib.h:14:
In file included from C:\nvcc\include\thrust\device_vector.h:25:
In file included from C:\nvcc\include\thrust\detail\vector_base.h:25:
In file included from C:\nvcc\include\thrust\iterator\detail\normal_iterator.h:25:
In file included from C:\nvcc\include\thrust\iterator\iterator_adaptor.h:36:
C:\nvcc\include\thrust\iterator\iterator_facade.h:310:14: error: implicit instantiation of undefined template 'thrust::device_reference<double>'
      return iterator_core_access::dereference(this->derived());
             ^
C:\nvcc\include\thrust\device_ptr.h:37:28: note: template is declared here
template<typename T> class device_reference;
                           ^
In file included from C:\Users\intel\Downloads\cuda code\h2o4gpu-master\src\gpu\h2o4gpuglm.cu:4:
In file included from C:\Users\intel\Downloads\cuda code\h2o4gpu-master\src\include\solver\glm.h:77:
In file included from C:\Users\intel\Downloads\cuda code\h2o4gpu-master\src\include\prox_lib.h:14:
In file included from C:\nvcc\include\thrust\device_vector.h:25:
In file included from C:\nvcc\include\thrust\detail\vector_base.h:25:
In file included from C:\nvcc\include\thrust\iterator\detail\normal_iterator.h:25:
In file included from C:\nvcc\include\thrust\iterator\iterator_adaptor.h:36:
C:\nvcc\include\thrust\iterator\iterator_facade.h:126:39: error: implicit instantiation of undefined template 'thrust::device_reference<double>'
    static typename Facade::reference dereference(Facade const& f)
                                      ^
C:\nvcc\include\thrust\iterator\iterator_facade.h:310:36: note: in instantiation of function template specialization 'thrust::iterator_core_access::dereference<thrust::device_ptr<double> >' requested here
      return iterator_core_access::dereference(this->derived());
                                   ^
C:\nvcc\include\thrust\iterator\permutation_iterator.h:179:14: note: in instantiation of member function 'thrust::iterator_facade<thrust::device_ptr<double>, double, thrust::cuda_cub::tag, thrust::random_access_traversal_tag, thrust::device_reference<double>, long long>::operator*' requested here
      return *(m_element_iterator + *this->base());
             ^
C:\nvcc\include\thrust\iterator\iterator_facade.h:128:16: note: in instantiation of member function 'thrust::permutation_iterator<thrust::device_ptr<double>, thrust::transform_iterator<cml::strided_range<thrust::device_ptr<double> >::StrideF, thrust::counting_iterator<long long, thrust::use_default, thrust::use_default, thrust::use_default>, thrust::use_default, thrust::use_default> >::dereference' requested here
      return f.dereference();
               ^
C:\nvcc\include\thrust\iterator\iterator_facade.h:310:36: note: in instantiation of function template specialization 'thrust::iterator_core_access::dereference<thrust::permutation_iterator<thrust::device_ptr<double>, thrust::transform_iterator<cml::strided_range<thrust::device_ptr<double> >::StrideF, thrust::counting_iterator<long long, thrust::use_default, thrust::use_default, thrust::use_default>, thrust::use_default, thrust::use_default> > >' requested here
      return iterator_core_access::dereference(this->derived());
                                   ^
C:\nvcc\include\thrust\iterator\iterator_facade.h:328:14: note: in instantiation of member function 'thrust::iterator_facade<thrust::permutation_iterator<thrust::device_ptr<double>, thrust::transform_iterator<cml::strided_range<thrust::device_ptr<double> >::StrideF, thrust::counting_iterator<long long, thrust::use_default, thrust::use_default, thrust::use_default>, thrust::use_default, thrust::use_default> >, double, thrust::cuda_cub::tag, thrust::random_access_traversal_tag, thrust::device_reference<double>, long long>::operator*' requested here
      return *(this->derived() + n);
             ^
C:\nvcc\include\thrust\system\cuda\detail\util.h:311:15: note: (skipping 16 contexts in backtrace; use -ftemplate-backtrace-limit=0 to see all)
    return op(input);
              ^
C:\nvcc\include\thrust\detail\transform_reduce.inl:47:10: note: in instantiation of function template specialization 'thrust::cuda_cub::transform_reduce<thrust::cuda_cub::tag, thrust::permutation_iterator<thrust::device_ptr<double>, thrust::transform_iterator<cml::strided_range<thrust::device_ptr<double> >::StrideF, thrust::counting_iterator<long long, thrust::use_default, thrust::use_default, thrust::use_default>, thrust::use_default, thrust::use_default> >, cml::Square<double>, double, thrust::plus<double> >' requested here
  return transform_reduce(thrust::detail::derived_cast(thrust::detail::strip_const(exec)), first, last, unary_op, init, binary_op);
         ^
C:\nvcc\include\thrust\detail\transform_reduce.inl:67:18: note: in instantiation of function template specialization 'thrust::transform_reduce<thrust::cuda_cub::tag, thrust::permutation_iterator<thrust::device_ptr<double>, thrust::transform_iterator<cml::strided_range<thrust::device_ptr<double> >::StrideF, thrust::counting_iterator<long long, thrust::use_default, thrust::use_default, thrust::use_default>, thrust::use_default, thrust::use_default> >, cml::Square<double>, double, thrust::plus<double> >' requested here
  return thrust::transform_reduce(select_system(system), first, last, unary_op, init, binary_op);
                 ^
C:\Users\intel\Downloads\cuda code\h2o4gpu-master\src\gpu\include\cml\cml_blas.cuh:155:25: note: in instantiation of function template specialization 'thrust::transform_reduce<thrust::permutation_iterator<thrust::device_ptr<double>, thrust::transform_iterator<cml::strided_range<thrust::device_ptr<double> >::StrideF, thrust::counting_iterator<long long, thrust::use_default, thrust::use_default, thrust::use_default>, thrust::use_default, thrust::use_default> >, cml::Square<double>, double, thrust::plus<double> >' requested here
  T nrm2 = sqrt(thrust::transform_reduce(strided_x.begin(), strided_x.end(),
                        ^
C:\Users\intel\Downloads\cuda code\h2o4gpu-master\src\gpu\h2o4gpuglm.cu:453:23: note: in instantiation of function template specialization 'cml::blas_nrm2<double>' requested here
                                + _rel_tol * cml::blas_nrm2(hdl, &z)
                                                  ^
C:\Users\intel\Downloads\cuda code\h2o4gpu-master\src\gpu\h2o4gpuglm.cu:989:16: note: in instantiation of member function 'h2o4gpu::H2O4GPU<double, h2o4gpu::MatrixDense<double>, h2o4gpu::ProjectorDirect<double, h2o4gpu::MatrixDense<double> > >::Solve' requested here
template class H2O4GPU<double, MatrixDense<double>,
               ^
C:\nvcc\include\thrust\device_ptr.h:37:28: note: template is declared here
template<typename T> class device_reference;
                           ^
In file included from C:\Users\intel\Downloads\cuda code\h2o4gpu-master\src\gpu\h2o4gpuglm.cu:4:
In file included from C:\Users\intel\Downloads\cuda code\h2o4gpu-master\src\include\solver\glm.h:77:
In file included from C:\Users\intel\Downloads\cuda code\h2o4gpu-master\src\include\prox_lib.h:14:
In file included from C:\nvcc\include\thrust\device_vector.h:25:
In file included from C:\nvcc\include\thrust\detail\vector_base.h:25:
In file included from C:\nvcc\include\thrust\iterator\detail\normal_iterator.h:25:
In file included from C:\nvcc\include\thrust\iterator\iterator_adaptor.h:36:
C:\nvcc\include\thrust\iterator\iterator_facade.h:128:16: error: implicit instantiation of undefined template 'thrust::device_reference<double>'
      return f.dereference();
               ^
C:\nvcc\include\thrust\device_ptr.h:37:28: note: template is declared here
template<typename T> class device_reference;
                           ^
In file included from C:\Users\intel\Downloads\cuda code\h2o4gpu-master\src\gpu\h2o4gpuglm.cu:4:
In file included from C:\Users\intel\Downloads\cuda code\h2o4gpu-master\src\include\solver\glm.h:77:
In file included from C:\Users\intel\Downloads\cuda code\h2o4gpu-master\src\include\prox_lib.h:14:
In file included from C:\nvcc\include\thrust\device_vector.h:25:
In file included from C:\nvcc\include\thrust\detail\vector_base.h:29:
In file included from C:\nvcc\include\thrust\detail\contiguous_storage.h:240:
C:\nvcc\include\thrust\detail\contiguous_storage.inl:159:11: error: implicit instantiation of undefined template 'thrust::reference<unsigned char, thrust::pointer<unsigned char, thrust::cuda_cub::tag, thrust::use_default, thrust::use_default>, thrust::use_default>'
  return &*m_begin;
          ^
C:\nvcc\include\thrust\system\cuda\detail\reduce.h:966:65: note: in instantiation of member function 'thrust::detail::contiguous_storage<unsigned char, thrust::detail::no_throw_allocator<thrust::detail::temporary_allocator<unsigned char, thrust::cuda_cub::tag> > >::data' requested here
  T* ret_ptr = thrust::detail::aligned_reinterpret_cast<T*>(tmp.data().get());
                                                                ^
C:\nvcc\include\thrust\system\cuda\detail\reduce.h:1017:38: note: in instantiation of function template specialization 'thrust::cuda_cub::detail::reduce_n_impl<thrust::cuda_cub::tag, thrust::cuda_cub::transform_input_iterator_t<double, thrust::permutation_iterator<thrust::device_ptr<double>, thrust::transform_iterator<cml::strided_range<thrust::device_ptr<double> >::StrideF, thrust::counting_iterator<long long, thrust::use_default, thrust::use_default, thrust::use_default>, thrust::use_default, thrust::use_default> >, cml::Square<double> >, long long, double, thrust::plus<double> >' requested here
    return thrust::cuda_cub::detail::reduce_n_impl(
                                     ^
C:\nvcc\include\thrust\system\cuda\detail\transform_reduce.h:58:20: note: in instantiation of function template specialization 'thrust::cuda_cub::reduce_n<thrust::cuda_cub::tag, thrust::cuda_cub::transform_input_iterator_t<double, thrust::permutation_iterator<thrust::device_ptr<double>, thrust::transform_iterator<cml::strided_range<thrust::device_ptr<double> >::StrideF, thrust::counting_iterator<long long, thrust::use_default, thrust::use_default, thrust::use_default>, thrust::use_default, thrust::use_default> >, cml::Square<double> >, long long, double, thrust::plus<double> >' requested here
  return cuda_cub::reduce_n(policy,
                   ^
C:\nvcc\include\thrust\detail\transform_reduce.inl:47:10: note: in instantiation of function template specialization 'thrust::cuda_cub::transform_reduce<thrust::cuda_cub::tag, thrust::permutation_iterator<thrust::device_ptr<double>, thrust::transform_iterator<cml::strided_range<thrust::device_ptr<double> >::StrideF, thrust::counting_iterator<long long, thrust::use_default, thrust::use_default, thrust::use_default>, thrust::use_default, thrust::use_default> >, cml::Square<double>, double, thrust::plus<double> >' requested here
  return transform_reduce(thrust::detail::derived_cast(thrust::detail::strip_const(exec)), first, last, unary_op, init, binary_op);
         ^
C:\nvcc\include\thrust\detail\transform_reduce.inl:67:18: note: in instantiation of function template specialization 'thrust::transform_reduce<thrust::cuda_cub::tag, thrust::permutation_iterator<thrust::device_ptr<double>, thrust::transform_iterator<cml::strided_range<thrust::device_ptr<double> >::StrideF, thrust::counting_iterator<long long, thrust::use_default, thrust::use_default, thrust::use_default>, thrust::use_default, thrust::use_default> >, cml::Square<double>, double, thrust::plus<double> >' requested here
  return thrust::transform_reduce(select_system(system), first, last, unary_op, init, binary_op);
                 ^
C:\Users\intel\Downloads\cuda code\h2o4gpu-master\src\gpu\include\cml\cml_blas.cuh:155:25: note: in instantiation of function template specialization 'thrust::transform_reduce<thrust::permutation_iterator<thrust::device_ptr<double>, thrust::transform_iterator<cml::strided_range<thrust::device_ptr<double> >::StrideF, thrust::counting_iterator<long long, thrust::use_default, thrust::use_default, thrust::use_default>, thrust::use_default, thrust::use_default> >, cml::Square<double>, double, thrust::plus<double> >' requested here
  T nrm2 = sqrt(thrust::transform_reduce(strided_x.begin(), strided_x.end(),
                        ^
C:\Users\intel\Downloads\cuda code\h2o4gpu-master\src\gpu\h2o4gpuglm.cu:453:23: note: in instantiation of function template specialization 'cml::blas_nrm2<double>' requested here
                                + _rel_tol * cml::blas_nrm2(hdl, &z)
                                                  ^
C:\Users\intel\Downloads\cuda code\h2o4gpu-master\src\gpu\h2o4gpuglm.cu:989:16: note: in instantiation of member function 'h2o4gpu::H2O4GPU<double, h2o4gpu::MatrixDense<double>, h2o4gpu::ProjectorDirect<double, h2o4gpu::MatrixDense<double> > >::Solve' requested here
template class H2O4GPU<double, MatrixDense<double>,
               ^
C:\nvcc\include\thrust\detail\reference_forward_declaration.h:25:84: note: template is declared here
template<typename Element, typename Pointer, typename Derived = use_default> class reference;
                                                                                   ^
In file included from C:\Users\intel\Downloads\cuda code\h2o4gpu-master\src\gpu\h2o4gpuglm.cu:4:
In file included from C:\Users\intel\Downloads\cuda code\h2o4gpu-master\src\include\solver\glm.h:77:
In file included from C:\Users\intel\Downloads\cuda code\h2o4gpu-master\src\include\prox_lib.h:14:
In file included from C:\nvcc\include\thrust\device_vector.h:25:
In file included from C:\nvcc\include\thrust\detail\vector_base.h:25:
In file included from C:\nvcc\include\thrust\iterator\detail\normal_iterator.h:25:
In file included from C:\nvcc\include\thrust\iterator\iterator_adaptor.h:36:
C:\nvcc\include\thrust\iterator\iterator_facade.h:308:15: error: implicit instantiation of undefined template 'thrust::reference<unsigned char, thrust::pointer<unsigned char, thrust::cuda_cub::tag, thrust::use_default, thrust::use_default>, thrust::use_default>'
    reference operator*() const
              ^
C:\nvcc\include\thrust\detail\contiguous_storage.inl:159:11: note: in instantiation of member function 'thrust::iterator_facade<thrust::detail::normal_iterator<thrust::pointer<unsigned char, thrust::cuda_cub::tag, thrust::use_default, thrust::use_default> >, unsigned char, thrust::cuda_cub::tag, thrust::random_access_traversal_tag, thrust::reference<unsigned char, thrust::pointer<unsigned char, thrust::cuda_cub::tag, thrust::use_default, thrust::use_default>, thrust::use_default>, long long>::operator*' requested here
  return &*m_begin;
          ^
C:\nvcc\include\thrust\system\cuda\detail\reduce.h:966:65: note: in instantiation of member function 'thrust::detail::contiguous_storage<unsigned char, thrust::detail::no_throw_allocator<thrust::detail::temporary_allocator<unsigned char, thrust::cuda_cub::tag> > >::data' requested here
  T* ret_ptr = thrust::detail::aligned_reinterpret_cast<T*>(tmp.data().get());
                                                                ^
C:\nvcc\include\thrust\system\cuda\detail\reduce.h:1017:38: note: in instantiation of function template specialization 'thrust::cuda_cub::detail::reduce_n_impl<thrust::cuda_cub::tag, thrust::cuda_cub::transform_input_iterator_t<double, thrust::permutation_iterator<thrust::device_ptr<double>, thrust::transform_iterator<cml::strided_range<thrust::device_ptr<double> >::StrideF, thrust::counting_iterator<long long, thrust::use_default, thrust::use_default, thrust::use_default>, thrust::use_default, thrust::use_default> >, cml::Square<double> >, long long, double, thrust::plus<double> >' requested here
    return thrust::cuda_cub::detail::reduce_n_impl(
                                     ^
C:\nvcc\include\thrust\system\cuda\detail\transform_reduce.h:58:20: note: in instantiation of function template specialization 'thrust::cuda_cub::reduce_n<thrust::cuda_cub::tag, thrust::cuda_cub::transform_input_iterator_t<double, thrust::permutation_iterator<thrust::device_ptr<double>, thrust::transform_iterator<cml::strided_range<thrust::device_ptr<double> >::StrideF, thrust::counting_iterator<long long, thrust::use_default, thrust::use_default, thrust::use_default>, thrust::use_default, thrust::use_default> >, cml::Square<double> >, long long, double, thrust::plus<double> >' requested here
  return cuda_cub::reduce_n(policy,
                   ^
C:\nvcc\include\thrust\detail\transform_reduce.inl:47:10: note: in instantiation of function template specialization 'thrust::cuda_cub::transform_reduce<thrust::cuda_cub::tag, thrust::permutation_iterator<thrust::device_ptr<double>, thrust::transform_iterator<cml::strided_range<thrust::device_ptr<double> >::StrideF, thrust::counting_iterator<long long, thrust::use_default, thrust::use_default, thrust::use_default>, thrust::use_default, thrust::use_default> >, cml::Square<double>, double, thrust::plus<double> >' requested here
  return transform_reduce(thrust::detail::derived_cast(thrust::detail::strip_const(exec)), first, last, unary_op, init, binary_op);
         ^
C:\nvcc\include\thrust\detail\transform_reduce.inl:67:18: note: in instantiation of function template specialization 'thrust::transform_reduce<thrust::cuda_cub::tag, thrust::permutation_iterator<thrust::device_ptr<double>, thrust::transform_iterator<cml::strided_range<thrust::device_ptr<double> >::StrideF, thrust::counting_iterator<long long, thrust::use_default, thrust::use_default, thrust::use_default>, thrust::use_default, thrust::use_default> >, cml::Square<double>, double, thrust::plus<double> >' requested here
  return thrust::transform_reduce(select_system(system), first, last, unary_op, init, binary_op);
                 ^
C:\Users\intel\Downloads\cuda code\h2o4gpu-master\src\gpu\include\cml\cml_blas.cuh:155:25: note: in instantiation of function template specialization 'thrust::transform_reduce<thrust::permutation_iterator<thrust::device_ptr<double>, thrust::transform_iterator<cml::strided_range<thrust::device_ptr<double> >::StrideF, thrust::counting_iterator<long long, thrust::use_default, thrust::use_default, thrust::use_default>, thrust::use_default, thrust::use_default> >, cml::Square<double>, double, thrust::plus<double> >' requested here
  T nrm2 = sqrt(thrust::transform_reduce(strided_x.begin(), strided_x.end(),
                        ^
C:\Users\intel\Downloads\cuda code\h2o4gpu-master\src\gpu\h2o4gpuglm.cu:453:23: note: in instantiation of function template specialization 'cml::blas_nrm2<double>' requested here
                                + _rel_tol * cml::blas_nrm2(hdl, &z)
                                                  ^
C:\Users\intel\Downloads\cuda code\h2o4gpu-master\src\gpu\h2o4gpuglm.cu:989:16: note: in instantiation of member function 'h2o4gpu::H2O4GPU<double, h2o4gpu::MatrixDense<double>, h2o4gpu::ProjectorDirect<double, h2o4gpu::MatrixDense<double> > >::Solve' requested here
template class H2O4GPU<double, MatrixDense<double>,
               ^
C:\nvcc\include\thrust\detail\reference_forward_declaration.h:25:84: note: template is declared here
template<typename Element, typename Pointer, typename Derived = use_default> class reference;
                                                                                   ^
In file included from C:\Users\intel\Downloads\cuda code\h2o4gpu-master\src\gpu\h2o4gpuglm.cu:4:
In file included from C:\Users\intel\Downloads\cuda code\h2o4gpu-master\src\include\solver\glm.h:77:
In file included from C:\Users\intel\Downloads\cuda code\h2o4gpu-master\src\include\prox_lib.h:14:
In file included from C:\nvcc\include\thrust\device_vector.h:25:
In file included from C:\nvcc\include\thrust\detail\vector_base.h:25:
In file included from C:\nvcc\include\thrust\iterator\detail\normal_iterator.h:25:
In file included from C:\nvcc\include\thrust\iterator\iterator_adaptor.h:36:
C:\nvcc\include\thrust\iterator\iterator_facade.h:310:14: error: implicit instantiation of undefined template 'thrust::reference<unsigned char, thrust::pointer<unsigned char, thrust::cuda_cub::tag, thrust::use_default, thrust::use_default>, thrust::use_default>'
      return iterator_core_access::dereference(this->derived());
             ^
C:\nvcc\include\thrust\detail\reference_forward_declaration.h:25:84: note: template is declared here
template<typename Element, typename Pointer, typename Derived = use_default> class reference;
                                                                                   ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
1 warning and 20 errors generated when compiling for host.
Error while processing C:\Users\intel\Downloads\cuda code\h2o4gpu-master\src\gpu\h2o4gpuglm.cu.
dpct exited with code: -17 (Error: Cannot parse input file(s))

Any help is appreciated.

Gagan

 

0 Kudos
2 Replies
AbhishekD_Intel
Moderator
1,220 Views

Hi Gagan,

Thanks for reporting these errors, we also get the same errors after migrating h2o4gpuglm.cu file.

So we are escalating it to the concerned team.

 

Warm Regards,

Abhishek

0 Kudos
Anoop_M_Intel
Employee
1,193 Views

Anoop_M_Intel_0-1594888723429.png

I see the above requirement for this project but you are trying this on Windows OS. 

0 Kudos
Reply