I have some problem with compilation on CUDA. I tried on cuda3 and cuda4 (because this project was written for these versions), gcc ver 3.4 and got these errors:
/home/susers/s218176/cuda4/C/lib//libcutil_x86_64.a(cutil.cpp.o): In function (anonymous namespace)::loadPPM(char const*, unsigned char**,
unsigned int*, unsigned int*, unsigned int*)':
cutil.cpp:(.text+0x184): undefined reference to
std::basic_ostream >& std::__ostream_insert
(std::basic_ostream >&, char const*, long)' cutil.cpp:(.text+0x224): undefined reference to std::ctype<char>::_M_widen_init() const' cutil.cpp:(.text+0x2b7):
undefined reference tostd::basic_ostream >& std::__ostream_insert >(std::basic_ostream >&, char const*, long)' cutil.cpp:(.text+0x2f7): undefined reference to std::basic_ostream<char, std::char_traits<char> >&
std::__ostream_insert<char, std::char_traits<char>
(std::basic_ostream<char, std::char_traits<char> >&, char const*, long)' cutil.cpp:(.text+0x33f): undefined reference to
std::ctype::_M_widen_init() const' /home/susers/s218176/cuda4/C/lib//libcutil_x86_64.a(cutil.cpp.o): In function CUTBoolean (anonymous namespace)::cutWriteFile<float>(char
const*, float const*, unsigned int, float, bool)':
cutil.cpp:(.text+0x1a87): undefined reference to
std::basic_ostream >& std::__ostream_insert (std::basic_ostream >&, char const*, long)' cutil.cpp:(.text+0x1ae1): undefined reference to std::basic_ostream<char, std::char_traits<char> >&
std::__ostream_insert<char, std::char_traits<char>
(std::basic_ostream<char, std::char_traits<char> >&, char const*, long)' cutil.cpp:(.text+0x1af3): undefined reference to
std::basic_ostream >& std::basic_ostream ::_M_insert(double)' cutil.cpp:(.text+0x1b07): undefined reference to std::basic_ostream<char, std::char_traits<char> >&
std::__ostream_insert<char, std::char_traits<char>
(std::basic_ostream<char, std::char_traits<char> >&, char const*, long)' cutil.cpp:(.text+0x1b5b): undefined reference to
std::basic_ostream >& std::basic_ostream ::_M_insert(double)' cutil.cpp:(.text+0x1b72): undefined reference to std::basic_ostream<char, std::char_traits<char> >&
std::__ostream_insert<char, std::char_traits<char>
(std::basic_ostream<char, std::char_traits<char> >&, char const*, long)' cutil.cpp:(.text+0x1baa): undefined reference to
std::basic_ostream >& std::__ostream_insert (std::basic_ostream >&, char const*, long)' cutil.cpp:(.text+0x1bd4): undefined reference to std::ctype<char>::_M_widen_init() const' cutil.cpp:(.text+0x1c4a):
undefined reference tostd::ctype::_M_widen_init() const' /home/susers/s218176/cuda4/C/lib//libcutil_x86_64.a(cutil.cpp.o): In function CUTBoolean (anonymous namespace)::cutWriteFile<double>(char
const*, double const*, unsigned int, double, bool)':
cutil.cpp:(.text+0x20c7): undefined reference to
std::basic_ostream >& std::__ostream_insert (std::basic_ostream >&, char const*, long)' cutil.cpp:(.text+0x2121): undefined reference to std::basic_ostream<char, std::char_traits<char> >&
std::__ostream_insert<char, std::char_traits<char>
(std::basic_ostream<char, std::char_traits<char> >&, char const*, long)' cutil.cpp:(.text+0x2130): undefined reference to
std::basic_ostream >& std::basic_ostream ::_M_insert(double)' cutil.cpp:(.text+0x2144): undefined reference to std::basic_ostream<char, std::char_traits<char> >&
std::__ostream_insert<char, std::char_traits<char>
(std::basic_ostream<char, std::char_traits<char> >&, char const*, long)' cutil.cpp:(.text+0x2198): undefined reference to
std::basic_ostream >& std::basic_ostream ::_M_insert(double)' cutil.cpp:(.text+0x21af): undefined reference to std::basic_ostream<char, std::char_traits<char> >&
std::__ostream_insert<char, std::char_traits<char>
(std::basic_ostream<char, std::char_traits<char> >&, char const*, long)' cutil.cpp:(.text+0x21e3): undefined reference to
std::basic_ostream >& std::__ostream_insert (std::basic_ostream >&, char const*, long)' cutil.cpp:(.text+0x220c): undefined reference to std::ctype<char>::_M_widen_init() const' cutil.cpp:(.text+0x2282):
undefined reference tostd::ctype::_M_widen_init() const' /home/susers/s218176/cuda4/C/lib//libcutil_x86_64.a(cutil.cpp.o): In function (anonymous namespace)::savePPM(char const*, unsigned char*,
unsigned int, unsigned int, unsigned int)': cutil.cpp:(.text+0x25e5):
undefined reference tostd::basic_ostream >& std::__ostream_insert >(std::basic_ostream >&, char const*, long)' cutil.cpp:(.text+0x2724): undefined reference to `std::ctype::_M_widen_init() const'
There is much more errors like this. What’s wrong with this cuda? My compilation command:
/home/susers/s218176/cuda4/cuda/bin/nvcc -O3 -use_fast_math -DUSING_CUDA -DKERNEL_ORG -D_NOT_USING_MPI -I/home/susers/s218176/cuda4/cuda/include/ -I/home/susers/s218176/cuda4/cuda/samples/common/inc/ -I/home/susers/s218176/cuda4/C/common/inc/ -L/home/susers/s218176/cuda4/C/lib/ -L/home/susers/s218176/cuda4/cuda/lib64/ -lcutil_x86_64 -lcudart -lm --ptxas-options=-v -gencode=arch=compute_13,code=sm_13 -gencode=arch=compute_13,code=compute_13 -gencode=arch=compute_20,code=sm_20 -gencode=arch=compute_20,code=compute_20 mcgpu.cu -o mpgpu.x -D__STRICT_ANSI__
If I remove -lcutil_x86_64 then I’m getting only few errors like this: tmpxft_000057e5_00000000-4_mcgpu.compute_13.cudafe1.cpp:(.text+0x47a6): undefined reference tocutCreateTimer’` but it’s still some problem with this cutil.cpp
Maybe there is something wrong in my command or somewhere else. Please help.