Opened 6 years ago
#12382 new Bugs
nvcc 7.5 unable to compile boost/numeric/odeint example
Reported by: | Owned by: | Douglas Gregor | |
---|---|---|---|
Milestone: | To Be Determined | Component: | numeric |
Version: | Boost 1.60.0 | Severity: | Problem |
Keywords: | Cc: |
Description
I'm trying to compile the boost example lorenz_parameters.cu referenced by the boost tutorial.
Changes I made to reduce the number of errors:
$ diff lorenz_parameters.cu.orig lorenz_parameters.cu 32c32,34 < typedef double value_type; --- > //typedef double value_type; > typedef float value_type; > 35,38c37,40 < typedef thrust::device_vector< value_type > state_type; < typedef thrust::device_vector< size_t > index_vector_type; < // typedef thrust::host_vector< value_type > state_type; < // typedef thrust::host_vector< size_t > index_vector_type; --- > //typedef thrust::device_vector< value_type > state_type; > //typedef thrust::device_vector< size_t > index_vector_type; > typedef thrust::host_vector< value_type > state_type; > typedef thrust::host_vector< size_t > index_vector_type;
compiler output: (same for gcc-4.9 and gcc-5)
$ nvcc -std=c++11 -o lorenz_parameters lorenz_parameters.cu lorenz_parameters.cu(279): error: no instance of overloaded function "integrate_adaptive" matches the argument list argument types are: (boost::numeric::odeint::controlled_runge_kutta<boost::numeric::odeint::runge_kutta_dopri5<state_type, value_type, state_type, value_type, boost::numeric::odeint::thrust_algebra, boost::numeric::odeint::thrust_operations, boost::numeric::odeint::initially_resizer>, boost::numeric::odeint::default_error_checker<value_type, boost::numeric::odeint::thrust_algebra, boost::numeric::odeint::thrust_operations>, boost::numeric::odeint::default_step_adjuster<value_type, value_type>, boost::numeric::odeint::initially_resizer, boost::numeric::odeint::explicit_error_stepper_fsal_tag>, lorenz_system, std::pair<thrust::detail::normal_iterator<value_type *>, thrust::detail::normal_iterator<value_type *>>, double, double, const value_type) /usr/include/boost/numeric/odeint/integrate/detail/integrate_adaptive.hpp(103): error: no instance of overloaded function "boost::numeric::odeint::controlled_runge_kutta<ErrorStepper, ErrorChecker, StepAdjuster, Resizer, boost::numeric::odeint::explicit_error_stepper_fsal_tag>::try_step [with ErrorStepper=boost::numeric::odeint::runge_kutta_dopri5<state_type, value_type, state_type, value_type, boost::numeric::odeint::thrust_algebra, boost::numeric::odeint::thrust_operations, boost::numeric::odeint::initially_resizer>, ErrorChecker=boost::numeric::odeint::default_error_checker<value_type, boost::numeric::odeint::thrust_algebra, boost::numeric::odeint::thrust_operations>, StepAdjuster=boost::numeric::odeint::default_step_adjuster<value_type, value_type>, Resizer=boost::numeric::odeint::initially_resizer]" matches the argument list argument types are: (lorenz_perturbation_system, state_type, double, double) object type is: boost::numeric::odeint::controlled_runge_kutta<boost::numeric::odeint::runge_kutta_dopri5<state_type, value_type, state_type, value_type, boost::numeric::odeint::thrust_algebra, boost::numeric::odeint::thrust_operations, boost::numeric::odeint::initially_resizer>, boost::numeric::odeint::default_error_checker<value_type, boost::numeric::odeint::thrust_algebra, boost::numeric::odeint::thrust_operations>, boost::numeric::odeint::default_step_adjuster<value_type, value_type>, boost::numeric::odeint::initially_resizer, boost::numeric::odeint::explicit_error_stepper_fsal_tag> detected during: instantiation of "size_t boost::numeric::odeint::detail::integrate_adaptive(Stepper, System, State &, Time &, Time, Time &, Observer, boost::numeric::odeint::controlled_stepper_tag) [with Stepper=boost::numeric::odeint::controlled_runge_kutta<boost::numeric::odeint::runge_kutta_dopri5<state_type, value_type, state_type, value_type, boost::numeric::odeint::thrust_algebra, boost::numeric::odeint::thrust_operations, boost::numeric::odeint::initially_resizer>, boost::numeric::odeint::default_error_checker<value_type, boost::numeric::odeint::thrust_algebra, boost::numeric::odeint::thrust_operations>, boost::numeric::odeint::default_step_adjuster<value_type, value_type>, boost::numeric::odeint::initially_resizer, boost::numeric::odeint::explicit_error_stepper_fsal_tag>, System=lorenz_perturbation_system, State=state_type, Time=double, Observer=boost::numeric::odeint::null_observer]" /usr/include/boost/numeric/odeint/integrate/integrate_adaptive.hpp(45): here instantiation of "size_t boost::numeric::odeint::integrate_adaptive(Stepper, System, State &, Time, Time, Time, Observer) [with Stepper=boost::numeric::odeint::controlled_runge_kutta<boost::numeric::odeint::runge_kutta_dopri5<state_type, value_type, state_type, value_type, boost::numeric::odeint::thrust_algebra, boost::numeric::odeint::thrust_operations, boost::numeric::odeint::initially_resizer>, boost::numeric::odeint::default_error_checker<value_type, boost::numeric::odeint::thrust_algebra, boost::numeric::odeint::thrust_operations>, boost::numeric::odeint::default_step_adjuster<value_type, value_type>, boost::numeric::odeint::initially_resizer, boost::numeric::odeint::explicit_error_stepper_fsal_tag>, System=lorenz_perturbation_system, State=state_type, Time=double, Observer=boost::numeric::odeint::null_observer]" /usr/include/boost/numeric/odeint/integrate/integrate_adaptive.hpp(83): here instantiation of "size_t boost::numeric::odeint::integrate_adaptive(Stepper, System, State &, Time, Time, Time) [with Stepper=boost::numeric::odeint::controlled_runge_kutta<boost::numeric::odeint::runge_kutta_dopri5<state_type, value_type, state_type, value_type, boost::numeric::odeint::thrust_algebra, boost::numeric::odeint::thrust_operations, boost::numeric::odeint::initially_resizer>, boost::numeric::odeint::default_error_checker<value_type, boost::numeric::odeint::thrust_algebra, boost::numeric::odeint::thrust_operations>, boost::numeric::odeint::default_step_adjuster<value_type, value_type>, boost::numeric::odeint::initially_resizer, boost::numeric::odeint::explicit_error_stepper_fsal_tag>, System=lorenz_perturbation_system, State=state_type, Time=double]" lorenz_parameters.cu(285): here lorenz_parameters.cu(43): warning: variable "sigma" was declared but never referenced lorenz_parameters.cu(44): warning: variable "b" was declared but never referenced 2 errors detected in the compilation of "/tmp/tmpxft_00000806_00000000-9_lorenz_parameters.cpp1.ii".
system details:
- Linux sid 4.6.0-1-amd64 SMP Debian 4.6.4-1 (2016-07-18) x86_64 GNU/Linux
- libcuda1 361.45.18-2
- libthrust-dev 1.8.1-1
- nvidia-cuda-toolkit 7.5.18-2
- nvcc V7.5.17
- libboost1.60-all-dev 1.60.0+dfsg-6
- gcc:
- 5.4.0-6
- 4.9.3-14
Note:
See TracTickets
for help on using tickets.