Subject: [Boost-bugs] [Boost C++ Libraries] #10420: icpc issue when mixing boost and cuda.
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2014-08-29 12:04:44
#10420: icpc issue when mixing boost and cuda.
--------------------------------------+-------------------------
Reporter: Alain Miniussi <alain@â¦> | Owner: johnmaddock
Type: Bugs | Status: new
Milestone: To Be Determined | Component: config
Version: Boost Development Trunk | Severity: Problem
Keywords: |
--------------------------------------+-------------------------
There are 2 problems when using nvcc with intel's compiler and including
boost headers.
Considering the following '''truc.cu''' file:
{{{
#include "boost/container/vector.hpp"
int
main() {
return 0;
}
}}}
The compilation raises the following two issues:
{{{
[alainm_at_gurney bug]$ nvcc -ccbin=icpc -c ./truc.cu -I../include
nvcc warning : The 'compute_10' and 'sm_10' architectures are deprecated,
and may be removed in a future release.
In file included from ../include/boost/config.hpp(39),
from
../include/boost/container/detail/config_begin.hpp(12),
from ../include/boost/container/vector.hpp(18),
from ./truc.cu(1):
../include/boost/config/compiler/intel.hpp(40): warning #47: incompatible
redefinition of macro "BOOST_COMPILER" (declared at line 11 of
"../include/boost/config/compiler/nvcc.hpp")
#define BOOST_COMPILER "Intel C++ version "
BOOST_STRINGIZE(BOOST_INTEL_CXX_VERSION)
^
../include/boost/config/suffix.hpp(496): error: identifier "__int128" is
undefined
../include/boost/config/suffix.hpp(497): error: expected a ";"
../include/boost/type_traits/is_integral.hpp(73): error: namespace "boost"
has no member "uint128_type"
../include/boost/type_traits/is_integral.hpp(73): error: class
"boost::is_integral<boost::int128_type>" has already been defined
../include/boost/type_traits/is_integral.hpp(73): error: namespace "boost"
has no member "uint128_type"
../include/boost/type_traits/is_integral.hpp(73): error: class
"boost::is_integral<const boost::int128_type>" has already been defined
../include/boost/type_traits/is_integral.hpp(73): error: namespace "boost"
has no member "uint128_type"
../include/boost/type_traits/is_integral.hpp(73): error: class
"boost::is_integral<volatile boost::int128_type>" has already been defined
../include/boost/type_traits/is_integral.hpp(73): error: namespace "boost"
has no member "uint128_type"
../include/boost/type_traits/is_integral.hpp(73): error: class
"boost::is_integral<const volatile boost::int128_type>" has already been
defined
../include/boost/functional/hash/hash.hpp(116): error: namespace "boost"
has no member "uint128_type"
../include/boost/functional/hash/hash.hpp(468): error: namespace "boost"
has no member "uint128_type"
../include/boost/functional/hash/hash.hpp(468): error: class
"boost::hash<boost::int128_type>" has already been defined
../include/boost/functional/hash/hash.hpp(468): error: namespace "boost"
has no member "uint128_type"
../include/boost/functional/hash/hash.hpp(468): error: namespace "boost"
has no member "uint128_type"
../include/boost/type_traits/make_unsigned.hpp(77): error: namespace
"boost" has no member "uint128_type"
../include/boost/type_traits/make_unsigned.hpp(109): error: namespace
"boost" has no member "uint128_type"
17 errors detected in the compilation of
"/tmp/tmpxft_000052b6_00000000-6_truc.cpp1.ii".
[alainm_at_gurney bug]$
}}}
The two problem are the double definition of '''BOOST_COMPILER''' (handled
with gcc and visualc) and the absence of int128 in that mode.
-- Ticket URL: <https://svn.boost.org/trac/boost/ticket/10420> 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:16 UTC