Subject: [Boost-bugs] [Boost C++ Libraries] #9030: Should pass steppers by reference in integrate functions
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2013-08-22 05:53:43
#9030: Should pass steppers by reference in integrate functions
------------------------------+-------------------------
Reporter: anikin@⦠| Owner: karsten
Type: Feature Requests | Status: new
Milestone: To Be Determined | Component: odeint
Version: Boost 1.54.0 | Severity: Showstopper
Keywords: st |
------------------------------+-------------------------
The ''integrate'' family of functions takes steppers by value, but
steppers like the most useful '''runge_kutta_dopri5''' may contain state
which is not the best type to copy around. The worst happens if you try to
use SSE-aligned vector for state type, e.g. Eigen::Array. Passing aligned
struct by value cannot preserve the alignment and the program crashes.
Which makes it impossible to use SSE vectorization with odeint. I think
you need to change to passing steppers by reference or add
odeint::unwrap_reference< Stepper > wherever steppers are passed, so that
boost::ref could be used with them.
-- Ticket URL: <https://svn.boost.org/trac/boost/ticket/9030> 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:13 UTC