Boost C++ Libraries: Ticket #6234: Boost special function don't compile with CUDA NVCC https://svn.boost.org/trac10/ticket/6234 <p> I get errors like this </p> <pre class="wiki">argument of type "_v1di" is incompatible with parameter of type "_attribute((vector_size(8))) long" </pre><p> if I include special functions and compile using CUDA </p> <p> executed command: </p> <pre class="wiki">/usr/bin/nvcc /tmp/buildd/lola-analysis-suite-0.1.0+svn4738~lucid/common/plugin/cuda_compute_engine.cu -c -o /tmp/buildd/lola-analysis-suite-0.1.0+svn4738~lucid/obj-x86_64-linux-gnu/common/./cuda_compute_engine_generated_cuda_compute_engine.cu.o -m64 -DH5Acreate_vers=1 -DH5Dcreate_vers=1 -DH5Dopen_vers=1 -DH5Gcreate_vers=1 -DH5Gopen_vers=1 -DH5Tarray_create_vers=1 -Dcuda_compute_engine_EXPORTS -Xcompiler ,\"-g\",\"-O2\",\"-fPIC\",\"-Wall\",\"-Wno-sign-compare\",\"-fPIC\",\"-O3\",\"-DNDEBUG\",\"-fopenmp\",\"-O3\",\"-s\",\"-finline\",\"-mtune=core2\",\"-mfpmath=sse\",\"-pipe\" --compiler-bindir=/usr/bin/g++-4.4 -DNVCC -I/usr/include -I/usr/lib/nvidia-cuda-toolkit/include -I/usr/include -I/usr/include/gtkmm-2.4 -I/usr/lib/gtkmm-2.4/include -I/usr/include/giomm-2.4 -I/usr/lib/giomm-2.4/include -I/usr/include/pangomm-1.4 -I/usr/lib/pangomm-1.4/include -I/usr/include/gtk-2.0 -I/usr/include/gtk-unix-print-2.0 -I/usr/include/atkmm-1.6 -I/usr/include/gdkmm-2.4 -I/usr/lib/gdkmm-2.4/include -I/usr/include/glibmm-2.4 -I/usr/lib/glibmm-2.4/include -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/sigc++-2.0 -I/usr/lib/sigc++-2.0/include -I/usr/include/cairomm-1.0 -I/usr/include/pango-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/directfb -I/usr/include/libpng12 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/gio-unix-2.0 -I/usr/include/cpputil -I/tmp/buildd/lola-analysis-suite-0.1.0+svn4738~lucid/obj-x86_64-linux-gnu -I/tmp/buildd/lola-analysis-suite-0.1.0+svn4738~lucid/include -I/tmp/buildd/lola-analysis-suite-0.1.0+svn4738~lucid/. -I/tmp/buildd/lola-analysis-suite-0.1.0+svn4738~lucid/third-party/libkdtree++ -I/tmp/buildd/lola-analysis-suite-0.1.0+svn4738~lucid/biggles_tracking -I/tmp/buildd/lola-analysis-suite-0.1.0+svn4738~lucid/third-party -I/tmp/buildd/lola-analysis-suite-0.1.0+svn4738~lucid/third-party/jsonbox/include -I/tmp/buildd/lola-analysis-suite-0.1.0+svn4738~lucid/third-party/hashstream -I/tmp/buildd/lola-analysis-suite-0.1.0+svn4738~lucid/common </pre><p> error message: </p> <p> /usr/lib/gcc/x86_64-linux-gnu/4.4.3/include/mmintrin.h(311): error: argument of type "<span class="underline">v1di" is incompatible with parameter of type "</span>attribute((vector_size(8))) long" </p> <p> /usr/lib/gcc/x86_64-linux-gnu/4.4.3/include/mmintrin.h(311): error: argument of type "<span class="underline">v1di" is incompatible with parameter of type "</span>attribute((vector_size(8))) long" </p> <p> /usr/lib/gcc/x86_64-linux-gnu/4.4.3/include/mmintrin.h(415): error: argument of type "<span class="underline">v1di" is incompatible with parameter of type "</span>attribute((vector_size(8))) long" </p> <p> /usr/lib/gcc/x86_64-linux-gnu/4.4.3/include/mmintrin.h(415): error: argument of type "<span class="underline">v1di" is incompatible with parameter of type "</span>attribute((vector_size(8))) long" </p> <p> /usr/lib/gcc/x86_64-linux-gnu/4.4.3/include/mmintrin.h(572): error: argument of type "<span class="underline">v1di" is incompatible with parameter of type "</span>attribute((vector_size(8))) long" </p> <p> /usr/lib/gcc/x86_64-linux-gnu/4.4.3/include/mmintrin.h(572): error: argument of type "<span class="underline">v1di" is incompatible with parameter of type "</span>attribute((vector_size(8))) long" </p> <p> /usr/lib/gcc/x86_64-linux-gnu/4.4.3/include/mmintrin.h(584): error: argument of type "<span class="underline">v1di" is incompatible with parameter of type "</span>attribute((vector_size(8))) long" </p> <p> /usr/lib/gcc/x86_64-linux-gnu/4.4.3/include/mmintrin.h(697): error: argument of type "<span class="underline">v1di" is incompatible with parameter of type "</span>attribute((vector_size(8))) long" </p> <p> /usr/lib/gcc/x86_64-linux-gnu/4.4.3/include/mmintrin.h(697): error: argument of type "<span class="underline">v1di" is incompatible with parameter of type "</span>attribute((vector_size(8))) long" </p> <p> /usr/lib/gcc/x86_64-linux-gnu/4.4.3/include/mmintrin.h(709): error: argument of type "<span class="underline">v1di" is incompatible with parameter of type "</span>attribute((vector_size(8))) long" </p> <p> /usr/lib/gcc/x86_64-linux-gnu/4.4.3/include/xmmintrin.h(745): error: argument of type "const <span class="underline">v2sf *" is incompatible with parameter of type "</span>attribute((vector_size(8))) int *" </p> <p> /usr/lib/gcc/x86_64-linux-gnu/4.4.3/include/xmmintrin.h(752): error: argument of type "<span class="underline">v2sf *" is incompatible with parameter of type "</span>attribute((vector_size(8))) int *" </p> <p> /usr/lib/gcc/x86_64-linux-gnu/4.4.3/include/xmmintrin.h(774): error: argument of type "const <span class="underline">v2sf *" is incompatible with parameter of type "</span>attribute((vector_size(8))) int *" </p> <p> /usr/lib/gcc/x86_64-linux-gnu/4.4.3/include/xmmintrin.h(781): error: argument of type "<span class="underline">v2sf *" is incompatible with parameter of type "</span>attribute((vector_size(8))) int *" </p> <p> /usr/lib/gcc/x86_64-linux-gnu/4.4.3/include/xmmintrin.h(1015): error: identifier "<span class="underline">builtin_ia32_vec_set_v4hi" is undefined </span></p> <p> /usr/lib/gcc/x86_64-linux-gnu/4.4.3/include/xmmintrin.h(1116): error: identifier "<span class="underline">builtin_ia32_pshufw" is undefined </span></p> <p> /usr/lib/gcc/x86_64-linux-gnu/4.4.3/include/emmintrin.h(216): error: argument of type "<span class="underline">v2di" is incompatible with parameter of type "</span>attribute((vector_size(16))) long" </p> <p> /usr/lib/gcc/x86_64-linux-gnu/4.4.3/include/emmintrin.h(223): error: argument of type "<span class="underline">v2di" is incompatible with parameter of type "</span>attribute((vector_size(16))) long" </p> <p> /usr/lib/gcc/x86_64-linux-gnu/4.4.3/include/emmintrin.h(709): error: argument of type "<span class="underline">v2di" is incompatible with parameter of type "</span>attribute((vector_size(16))) long" </p> <p> /usr/lib/gcc/x86_64-linux-gnu/4.4.3/include/emmintrin.h(715): error: argument of type "<span class="underline">v2di" is incompatible with parameter of type "</span>attribute((vector_size(16))) long" </p> <p> /usr/lib/gcc/x86_64-linux-gnu/4.4.3/include/emmintrin.h(727): error: argument of type "<span class="underline">v2di" is incompatible with parameter of type "</span>attribute((vector_size(16))) long" </p> <p> /usr/lib/gcc/x86_64-linux-gnu/4.4.3/include/emmintrin.h(962): error: argument of type "<span class="underline">v2di" is incompatible with parameter of type "</span>attribute((vector_size(16))) long" </p> <p> /usr/lib/gcc/x86_64-linux-gnu/4.4.3/include/emmintrin.h(962): error: argument of type "<span class="underline">v2di" is incompatible with parameter of type "</span>attribute((vector_size(16))) long" </p> <p> /usr/lib/gcc/x86_64-linux-gnu/4.4.3/include/emmintrin.h(986): error: argument of type "<span class="underline">v2di" is incompatible with parameter of type "</span>attribute((vector_size(16))) long" </p> <p> /usr/lib/gcc/x86_64-linux-gnu/4.4.3/include/emmintrin.h(986): error: argument of type "<span class="underline">v2di" is incompatible with parameter of type "</span>attribute((vector_size(16))) long" </p> <p> /usr/lib/gcc/x86_64-linux-gnu/4.4.3/include/emmintrin.h(1010): error: argument of type "<span class="underline">v2di" is incompatible with parameter of type "</span>attribute((vector_size(16))) long" </p> <p> /usr/lib/gcc/x86_64-linux-gnu/4.4.3/include/emmintrin.h(1010): error: argument of type "<span class="underline">v2di" is incompatible with parameter of type "</span>attribute((vector_size(16))) long" </p> <p> /usr/lib/gcc/x86_64-linux-gnu/4.4.3/include/emmintrin.h(1058): error: argument of type "<span class="underline">v2di" is incompatible with parameter of type "</span>attribute((vector_size(16))) long" </p> <p> /usr/lib/gcc/x86_64-linux-gnu/4.4.3/include/emmintrin.h(1058): error: argument of type "<span class="underline">v2di" is incompatible with parameter of type "</span>attribute((vector_size(16))) long" </p> <p> /usr/lib/gcc/x86_64-linux-gnu/4.4.3/include/emmintrin.h(1130): error: argument of type "<span class="underline">v2di" is incompatible with parameter of type "</span>attribute((vector_size(16))) long" </p> <p> /usr/lib/gcc/x86_64-linux-gnu/4.4.3/include/emmintrin.h(1149): error: argument of type "<span class="underline">m128i" is incompatible with parameter of type "</span>attribute((vector_size(16))) long" </p> <p> /usr/lib/gcc/x86_64-linux-gnu/4.4.3/include/emmintrin.h(1155): error: argument of type "<span class="underline">m128i" is incompatible with parameter of type "</span>attribute((vector_size(16))) long" </p> <p> /usr/lib/gcc/x86_64-linux-gnu/4.4.3/include/emmintrin.h(1179): error: argument of type "<span class="underline">v2di" is incompatible with parameter of type "</span>attribute((vector_size(16))) long" </p> <p> /usr/lib/gcc/x86_64-linux-gnu/4.4.3/include/emmintrin.h(1197): error: argument of type "<span class="underline">v2di" is incompatible with parameter of type "</span>attribute((vector_size(16))) long" </p> <p> /usr/lib/gcc/x86_64-linux-gnu/4.4.3/include/emmintrin.h(1197): error: argument of type "<span class="underline">v2di" is incompatible with parameter of type "</span>attribute((vector_size(16))) long" </p> <p> /usr/lib/gcc/x86_64-linux-gnu/4.4.3/include/emmintrin.h(1227): error: argument of type "<span class="underline">v2di" is incompatible with parameter of type "</span>attribute((vector_size(16))) long" </p> <p> /usr/lib/gcc/x86_64-linux-gnu/4.4.3/include/emmintrin.h(1227): error: argument of type "<span class="underline">v2di" is incompatible with parameter of type "</span>attribute((vector_size(16))) long" </p> <p> /usr/lib/gcc/x86_64-linux-gnu/4.4.3/include/emmintrin.h(1233): error: argument of type "<span class="underline">v2di" is incompatible with parameter of type "</span>attribute((vector_size(16))) long" </p> <p> /usr/lib/gcc/x86_64-linux-gnu/4.4.3/include/emmintrin.h(1233): error: argument of type "<span class="underline">v2di" is incompatible with parameter of type "</span>attribute((vector_size(16))) long" </p> <p> /usr/lib/gcc/x86_64-linux-gnu/4.4.3/include/emmintrin.h(1239): error: argument of type "<span class="underline">v2di" is incompatible with parameter of type "</span>attribute((vector_size(16))) long" </p> <p> /usr/lib/gcc/x86_64-linux-gnu/4.4.3/include/emmintrin.h(1239): error: argument of type "<span class="underline">v2di" is incompatible with parameter of type "</span>attribute((vector_size(16))) long" </p> <p> /usr/lib/gcc/x86_64-linux-gnu/4.4.3/include/emmintrin.h(1245): error: argument of type "<span class="underline">v2di" is incompatible with parameter of type "</span>attribute((vector_size(16))) long" </p> <p> /usr/lib/gcc/x86_64-linux-gnu/4.4.3/include/emmintrin.h(1245): error: argument of type "<span class="underline">v2di" is incompatible with parameter of type "</span>attribute((vector_size(16))) long" </p> <p> /usr/lib/gcc/x86_64-linux-gnu/4.4.3/include/emmintrin.h(1251): error: argument of type "<span class="underline">v2di" is incompatible with parameter of type "</span>attribute((vector_size(16))) long" </p> <p> /usr/lib/gcc/x86_64-linux-gnu/4.4.3/include/emmintrin.h(1251): error: argument of type "<span class="underline">v2di" is incompatible with parameter of type "</span>attribute((vector_size(16))) long" </p> <p> /usr/lib/gcc/x86_64-linux-gnu/4.4.3/include/emmintrin.h(1312): error: identifier "<span class="underline">builtin_ia32_vec_ext_v8hi" is undefined </span></p> <p> /usr/lib/gcc/x86_64-linux-gnu/4.4.3/include/emmintrin.h(1318): error: identifier "<span class="underline">builtin_ia32_vec_set_v8hi" is undefined </span></p> <p> /usr/lib/gcc/x86_64-linux-gnu/4.4.3/include/emmintrin.h(1424): error: argument of type "<span class="underline">v2di *" is incompatible with parameter of type "</span>attribute((vector_size(16))) long *" </p> <p> /usr/lib/gcc/x86_64-linux-gnu/4.4.3/include/emmintrin.h(1424): error: argument of type "<span class="underline">v2di" is incompatible with parameter of type "</span>attribute((vector_size(16))) long" </p> en-us Boost C++ Libraries /htdocs/site/boost.png https://svn.boost.org/trac10/ticket/6234 Trac 1.4.3 anonymous Thu, 08 Dec 2011 10:30:16 GMT <link>https://svn.boost.org/trac10/ticket/6234#comment:1 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/6234#comment:1</guid> <description> <p> Does commenting out this #include: </p> <p> #include &lt;boost/math/special_functions/detail/lanczos_sse2.hpp&gt; </p> <p> at the end of boost/math/special_functions/lanczos.hpp fix things? </p> </description> <category>Ticket</category> </item> <item> <dc:creator>John Maddock</dc:creator> <pubDate>Wed, 21 Dec 2011 17:43:58 GMT</pubDate> <title>status changed; resolution set https://svn.boost.org/trac10/ticket/6234#comment:2 https://svn.boost.org/trac10/ticket/6234#comment:2 <ul> <li><strong>status</strong> <span class="trac-field-old">new</span> → <span class="trac-field-new">closed</span> </li> <li><strong>resolution</strong> → <span class="trac-field-new">fixed</span> </li> </ul> <p> (In <a class="changeset" href="https://svn.boost.org/trac10/changeset/76097" title="Disable SSE2 instruction support under the CUDA compiler. Fixes #6234.">[76097]</a>) Disable SSE2 instruction support under the CUDA compiler. Fixes <a class="closed ticket" href="https://svn.boost.org/trac10/ticket/6234" title="#6234: Bugs: Boost special function don't compile with CUDA NVCC (closed: fixed)">#6234</a>. </p> Ticket