Boost C++ Libraries: Ticket #13049: nvcc CT Error: Boost 1.64.0 & CUDA 8.0 https://svn.boost.org/trac10/ticket/13049 <p> Compiling a host program which uses boost odeint integrate with nvcc from CUDA8.0 is not possible. The issue has been reported to Nvidia and will be fixed in CUDA 9. </p> <h2 class="section" id="Error">Error</h2> <p> nvcc is crashing with an internal cudafe error </p> <pre class="wiki">/boost/numeric/odeint/stepper/controlled_runge_kutta.hpp(66): internal error: assertion failed at: "/dvs/p4/build/sw/rel/gpu_drv/r361/r361_00/drivers/compiler/edg/EDG_4.10/src/types.c", line 7537 1 catastrophic error detected in the compilation of "/tmp/tmpxft_0000369f_00000000-9_main.cpp1.ii". </pre><h2 class="section" id="Example">Example</h2> <pre class="wiki">#include &lt;boost/array.hpp&gt; // this include is needed to compile with cuda 7.5 // boost bug: https://svn.boost.org/trac/boost/ticket/12516 // see fix https://github.com/boostorg/serialization/commit/1d86261581230e2dc5d617a9b16287d326f3e229 #include &lt;boost/serialization/array_wrapper.hpp&gt; #include &lt;boost/numeric/odeint/integrate/integrate.hpp&gt; #include &lt;iostream&gt; typedef double float_64; namespace foo{ struct Probability { Probability() {} template&lt;typename T_State&gt; void operator()(const T_State &amp;, T_State &amp;dpdtheta, const float_64 theta) const { const float_64 theta2 = theta*theta; dpdtheta[0] = theta2; } }; } int main() { namespace odeint = boost::numeric::odeint; typedef boost::array&lt;float_64, 1&gt; state_type; state_type integral_result = {0.0}; const float_64 lowerLimit = 0.0; const float_64 upperLimit = 0.1; const float_64 stepwidth = (2000 - 10) / float_64(1000.0); foo::Probability integrand; odeint::integrate(integrand, integral_result, lowerLimit, upperLimit, stepwidth); std::cout&lt;&lt;integral_result[0]&lt;&lt;std::endl; return 0; } </pre><h3 class="section" id="Compile">Compile</h3> <pre class="wiki">nvcc -std=c++11 main.cu -I$BOOST_ROOT/boost_1_64_0/include -L$BOOST_ROOT/boost_1_64_0/lib </pre><p> I will provide a pull request in the next hours adding <code>-DBOOST_NO_CXX11_NOEXCEPT</code> to boost/config for nvcc CUDA 8.0 </p> en-us Boost C++ Libraries /htdocs/site/boost.png https://svn.boost.org/trac10/ticket/13049 Trac 1.4.3 psychocoderHPC <r.widera@…> Tue, 30 May 2017 12:19:28 GMT <link>https://svn.boost.org/trac10/ticket/13049#comment:1 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/13049#comment:1</guid> <description> <p> I provided a fix on [github <a class="closed ticket" href="https://svn.boost.org/trac10/ticket/152" title="#152: Support Requests: Can't import hello (closed: Out of Date)">#152</a>](<a class="ext-link" href="https://github.com/boostorg/config/pull/152"><span class="icon">​</span>https://github.com/boostorg/config/pull/152</a>) </p> </description> <category>Ticket</category> </item> <item> <dc:creator>anonymous</dc:creator> <pubDate>Thu, 15 Jun 2017 12:06:03 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/13049#comment:2 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/13049#comment:2</guid> <description> <p> Reproduced and fixed in <a class="ext-link" href="https://github.com/boostorg/config/commit/9b8de65f1dae960ecfde689a99c83f39ba60e3f9"><span class="icon">​</span>https://github.com/boostorg/config/commit/9b8de65f1dae960ecfde689a99c83f39ba60e3f9</a> </p> </description> <category>Ticket</category> </item> </channel> </rss>