Subject: [Boost-bugs] [Boost C++ Libraries] #12382: nvcc 7.5 unable to compile boost/numeric/odeint example
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2016-08-08 16:06:42
#12382: nvcc 7.5 unable to compile boost/numeric/odeint example
-----------------------------------------+---------------------
Reporter: Olaf Pichler <boost.olaf@â¦> | Owner: dgregor
Type: Bugs | Status: new
Milestone: To Be Determined | Component: numeric
Version: Boost 1.60.0 | Severity: Problem
Keywords: |
-----------------------------------------+---------------------
I'm trying to compile the boost example
[https://github.com/headmyshoulder/odeint-v2/blob/master/examples/thrust/lorenz_parameters.cu
"lorenz_parameters.cu"] referenced by the
[http://www.boost.org/doc/libs/1_60_0/libs/numeric/odeint/doc/html/boost_numeric_odeint/tutorial/using_cuda__or_openmp__tbb_______via_thrust.html
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
-- Ticket URL: <https://svn.boost.org/trac/boost/ticket/12382> Boost C++ Libraries <http://www.boost.org/> Boost provides free peer-reviewed portable C++ source libraries.
This archive was generated by hypermail 2.1.7 : 2017-02-16 18:50:20 UTC