Subject: Re: [Boost-bugs] [Boost C++ Libraries] #4431: stdint.h not available in CUDA nvcc + visual studio
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2010-12-20 17:54:47
#4431: stdint.h not available in CUDA nvcc + visual studio
------------------------------------------------+---------------------------
Reporter: Sergey Mitsyn <svm@â¦> | Owner: johnmaddock
Type: Bugs | Status: new
Milestone: Boost 1.44.0 | Component: config
Version: Boost 1.43.0 | Severity: Problem
Resolution: | Keywords: CUDA nvcc stdint.h
------------------------------------------------+---------------------------
Comment (by sven.prevrhal@â¦):
John - At this point, I am using MSVC 9.0 on Win 7 64-bit, compiling for
64-bit with CUDA 3.2 using nvcc with the -m64 switch.
Getting this to work has failed, at least for me. If I switch in
basic_cstring
{{{
#if !BOOST_WORKAROUND(__IBMCPP__, BOOST_TESTED_AT(600))
enum npos_type { npos = static_cast<size_type>(-1) };
#else
// IBM/VisualAge version 6 is not able to handle enums larger than 4
bytes.
// But size_type is 8 bytes in 64bit mode.
static const size_type npos = -1 ;
#endif
}}}
to the #else clause, the cuda compiler dies:
{{{
1>"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v3.2\\bin\nvcc.exe"
-m64 -ccbin "C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\bin"
-D_DEBUG -D_WIN32 -I"C:\Program Files\NVIDIA GPU Computing
Toolkit\CUDA\v3.2\\include" -I"./" -I"../../common/inc"
-I"../../../shared/inc"
-I""D:\projects\quattro\src\recon\src\\..\include\TEST_librecon""
-I""D:\projects\quattro\src\recon\src\\..\include""
-I""c:\packages\boost\include\boost-1_43"" -I""c:\packages\boost\include""
-Xcompiler "/EHsc /W3 /nologo /O2 /Zi /MDd " -maxrregcount=32
-gencode=arch=compute_10,code=\"sm_10,compute_10\"
-gencode=arch=compute_20,code=\"sm_20,compute_20\" --compile -o
"x64\Debug\sorting.cu.obj"
"d:\projects\quattro\src\recon\src\TEST_librecon\sorting.cu"
1>sorting.cu
1>c:\packages\boost\include\boost-
1_43\boost/test/utils/basic_cstring/basic_cstring.hpp(59): warning:
integer conversion resulted in a change of sign
1>nvcc error : 'cudafe' died with status 0xC0000005 (ACCESS_VIOLATION)
1>Compiling...
}}}
I am not experienced enough to work up a patch for this. I can't even tell
if that's a bug with nvcc (since people report boost to work with gcc, but
have they tested boost unit testing?) or whether the boost macros are just
wrong for the nvcc on MSVC case.
-- Ticket URL: <https://svn.boost.org/trac/boost/ticket/4431#comment:5> 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:05 UTC