однако компиляция программы приводит к 9 ошибкам компилятора, указывающим на недопустимые преобразования типов. Я пытался исправить распространенные ошибки для устранения ошибок::remove, например, при запуске 64-битного проекта, и даже пытался это сделать на device_vector из int, но продолжал получать те же ошибки. Ошибки, показанные ниже (уменьшено из-за ограничений на количество символов)
FAILED: CMakeFiles/Solver.dir/main.cu.o
/usr/local/cuda-13.0/bin/nvcc -forward-unknown-to-host-compiler -g "--generate-code=arch=compute_89,code=[compute_89,sm_89]" -MD -MT CMakeFiles/Solver.dir/main.cu.o -MF CMakeFiles/Solver.dir/main.cu.o.d -x cu -rdc=true -c /home/aowyn/CLionProjects/Solver/main.cu -o CMakeFiles/Solver.dir/main.cu.o
/usr/local/cuda-13.0/targets/x86_64-linux/include/cccl/cub/agent/agent_select_if.cuh(407): error: function "cuda::std::__4::__not_fn_t::operator()(_Args &&...) & [with _Fn=thrust::THRUST_300001_SM_890_NS::detail::functional::actor, _Args=, __cccl_true_=true, =0]" (declared at line 62 of /usr/local/cuda-13.0/targets/x86_64-linux/include/cccl/cuda/std/__functional/not_fn.h) cannot be referenced -- it is a deleted function
selection_flags[ITEM] = static_cast(select_op(items[ITEM]));
/usr/local/cuda-13.0/targets/x86_64-linux/include/cccl/cub/agent/agent_select_if.cuh(407): error: invalid type conversion
selection_flags[ITEM] = static_cast(select_op(items[ITEM]));
/usr/local/cuda-13.0/targets/x86_64-linux/include/cccl/cub/agent/agent_select_if.cuh(407): error: function "cuda::std::__4::__not_fn_t::operator()(_Args &&...) & [with _Fn=thrust::THRUST_300001_SM_890_NS::detail::functional::actor, _Args=, __cccl_true_=true, =0]" (declared at line 62 of /usr/local/cuda-13.0/targets/x86_64-linux/include/cccl/cuda/std/__functional/not_fn.h) cannot be referenced -- it is a deleted function
selection_flags[ITEM] = static_cast(select_op(items[ITEM]));
/usr/local/cuda-13.0/targets/x86_64-linux/include/cccl/cub/agent/agent_select_if.cuh(407): error: invalid type conversion
selection_flags[ITEM] = static_cast(select_op(items[ITEM]));
/usr/local/cuda-13.0/targets/x86_64-linux/include/cccl/cub/agent/agent_select_if.cuh(407): error: function "cuda::std::__4::__not_fn_t::operator()(_Args &&...) & [with _Fn=thrust::THRUST_300001_SM_890_NS::detail::functional::actor, _Args=, __cccl_true_=true, =0]" (declared at line 62 of /usr/local/cuda-13.0/targets/x86_64-linux/include/cccl/cuda/std/__functional/not_fn.h) cannot be referenced -- it is a deleted function
selection_flags[ITEM] = static_cast(select_op(items[ITEM]));
/usr/local/cuda-13.0/targets/x86_64-linux/include/cccl/cub/agent/agent_select_if.cuh(407): error: invalid type conversion
selection_flags[ITEM] = static_cast(select_op(items[ITEM]));
/usr/local/cuda-13.0/targets/x86_64-linux/include/cccl/cub/agent/agent_select_if.cuh(407): error: function "cuda::std::__4::__not_fn_t::operator()(_Args &&...) & [with _Fn=thrust::THRUST_300001_SM_890_NS::detail::functional::actor, _Args=, __cccl_true_=true, =0]" (declared at line 62 of /usr/local/cuda-13.0/targets/x86_64-linux/include/cccl/cuda/std/__functional/not_fn.h) cannot be referenced -- it is a deleted function
selection_flags[ITEM] = static_cast(select_op(items[ITEM]));
/usr/local/cuda-13.0/targets/x86_64-linux/include/cccl/cub/agent/agent_select_if.cuh(407): error: invalid type conversion
selection_flags[ITEM] = static_cast(select_op(items[ITEM]));
/usr/local/cuda-13.0/targets/x86_64-linux/include/cccl/thrust/detail/function.h(44): error: no instance of function template "thrust::THRUST_300001_SM_890_NS::detail::functional::actor::operator() [with Eval=thrust::THRUST_300001_SM_890_NS::detail::functional::composite]" matches the argument list
argument types are: (config)
object type is: thrust::THRUST_300001_SM_890_NS::detail::functional::actor
return static_cast(m_f(thrust::raw_reference_cast(::cuda::std::forward(args))...));
^
/usr/local/cuda-13.0/targets/x86_64-linux/include/cccl/thrust/detail/functional/actor.h(59): note #3327-D: candidate function template "thrust::THRUST_300001_SM_890_NS::detail::functional::actor::operator() [with Eval=thrust::THRUST_300001_SM_890_NS::detail::functional::composite]" failed deduction
auto operator()(Ts&&... ts) const -> decltype(Eval::eval(::cuda::std::forward(ts)...))
9 errors detected in the compilation of "/home/aowyn/CLionProjects/Solver/main.cu".
ninja: build stopped: subcommand failed.
Любые предложения о том, как это исправить, будем очень признательны, спасибо.
В настоящее время я пытаюсь использовать функцию Thust::remove для структуры Thust::device_vector в моей основной функции, как показано ниже: [code]#include #include #include #include #include
struct config { unsigned int ld, ve, rd, solution; config() = default; };
next_size = thrust::reduce(thrust::device, sums.begin(), sums.end()); //erroring code thrust::remove(thrust::device, curr.begin(), curr.end(), 0); next.resize(next_size); curr = thrust::device_vector(next); } } [/code] однако компиляция программы приводит к 9 ошибкам компилятора, указывающим на недопустимые преобразования типов. Я пытался исправить распространенные ошибки для устранения ошибок::remove, например, при запуске 64-битного проекта, и даже пытался это сделать на device_vector из int, но продолжал получать те же ошибки. Ошибки, показанные ниже (уменьшено из-за ограничений на количество символов) [code]FAILED: CMakeFiles/Solver.dir/main.cu.o /usr/local/cuda-13.0/bin/nvcc -forward-unknown-to-host-compiler -g "--generate-code=arch=compute_89,code=[compute_89,sm_89]" -MD -MT CMakeFiles/Solver.dir/main.cu.o -MF CMakeFiles/Solver.dir/main.cu.o.d -x cu -rdc=true -c /home/aowyn/CLionProjects/Solver/main.cu -o CMakeFiles/Solver.dir/main.cu.o /usr/local/cuda-13.0/targets/x86_64-linux/include/cccl/cub/agent/agent_select_if.cuh(407): error: function "cuda::std::__4::__not_fn_t::operator()(_Args &&...) & [with _Fn=thrust::THRUST_300001_SM_890_NS::detail::functional::actor, _Args=, __cccl_true_=true, =0]" (declared at line 62 of /usr/local/cuda-13.0/targets/x86_64-linux/include/cccl/cuda/std/__functional/not_fn.h) cannot be referenced -- it is a deleted function selection_flags[ITEM] = static_cast(select_op(items[ITEM]));
/usr/local/cuda-13.0/targets/x86_64-linux/include/cccl/cub/agent/agent_select_if.cuh(407): error: invalid type conversion selection_flags[ITEM] = static_cast(select_op(items[ITEM]));
/usr/local/cuda-13.0/targets/x86_64-linux/include/cccl/cub/agent/agent_select_if.cuh(407): error: function "cuda::std::__4::__not_fn_t::operator()(_Args &&...) & [with _Fn=thrust::THRUST_300001_SM_890_NS::detail::functional::actor, _Args=, __cccl_true_=true, =0]" (declared at line 62 of /usr/local/cuda-13.0/targets/x86_64-linux/include/cccl/cuda/std/__functional/not_fn.h) cannot be referenced -- it is a deleted function selection_flags[ITEM] = static_cast(select_op(items[ITEM]));
/usr/local/cuda-13.0/targets/x86_64-linux/include/cccl/cub/agent/agent_select_if.cuh(407): error: invalid type conversion selection_flags[ITEM] = static_cast(select_op(items[ITEM]));
/usr/local/cuda-13.0/targets/x86_64-linux/include/cccl/cub/agent/agent_select_if.cuh(407): error: function "cuda::std::__4::__not_fn_t::operator()(_Args &&...) & [with _Fn=thrust::THRUST_300001_SM_890_NS::detail::functional::actor, _Args=, __cccl_true_=true, =0]" (declared at line 62 of /usr/local/cuda-13.0/targets/x86_64-linux/include/cccl/cuda/std/__functional/not_fn.h) cannot be referenced -- it is a deleted function selection_flags[ITEM] = static_cast(select_op(items[ITEM]));
/usr/local/cuda-13.0/targets/x86_64-linux/include/cccl/cub/agent/agent_select_if.cuh(407): error: invalid type conversion selection_flags[ITEM] = static_cast(select_op(items[ITEM]));
/usr/local/cuda-13.0/targets/x86_64-linux/include/cccl/cub/agent/agent_select_if.cuh(407): error: function "cuda::std::__4::__not_fn_t::operator()(_Args &&...) & [with _Fn=thrust::THRUST_300001_SM_890_NS::detail::functional::actor, _Args=, __cccl_true_=true, =0]" (declared at line 62 of /usr/local/cuda-13.0/targets/x86_64-linux/include/cccl/cuda/std/__functional/not_fn.h) cannot be referenced -- it is a deleted function selection_flags[ITEM] = static_cast(select_op(items[ITEM]));
/usr/local/cuda-13.0/targets/x86_64-linux/include/cccl/cub/agent/agent_select_if.cuh(407): error: invalid type conversion selection_flags[ITEM] = static_cast(select_op(items[ITEM]));
/usr/local/cuda-13.0/targets/x86_64-linux/include/cccl/thrust/detail/function.h(44): error: no instance of function template "thrust::THRUST_300001_SM_890_NS::detail::functional::actor::operator() [with Eval=thrust::THRUST_300001_SM_890_NS::detail::functional::composite]" matches the argument list argument types are: (config) object type is: thrust::THRUST_300001_SM_890_NS::detail::functional::actor return static_cast(m_f(thrust::raw_reference_cast(::cuda::std::forward(args))...)); ^ /usr/local/cuda-13.0/targets/x86_64-linux/include/cccl/thrust/detail/functional/actor.h(59): note #3327-D: candidate function template "thrust::THRUST_300001_SM_890_NS::detail::functional::actor::operator() [with Eval=thrust::THRUST_300001_SM_890_NS::detail::functional::composite]" failed deduction auto operator()(Ts&&... ts) const -> decltype(Eval::eval(::cuda::std::forward(ts)...))
9 errors detected in the compilation of "/home/aowyn/CLionProjects/Solver/main.cu". ninja: build stopped: subcommand failed. [/code] Любые предложения о том, как это исправить, будем очень признательны, спасибо.