milakov / nnForge

Convolutional neural networks C++ framework with CPU and GPU (CUDA) backends
http://nnforge.org
177 stars 44 forks source link

nvcc compile error ‘noinline’ was not declared #1

Closed antinucleon closed 10 years ago

antinucleon commented 10 years ago

Env: CUDA 5.5, gcc 4.8.2, boost 1.55

Info: nvcc -c absolute_layer_hessian_cuda.cu -use_fast_math -O3 -Xcompiler="-I/usr/local/include/boost/tr1/tr1 -I/usr/local/include -I/usr/local/cuda/include -I/usr/local/include -ffast-math -mfpmath=sse -msse3 -O3" -gencode=arch=compute_20,code=sm_20 -gencode=arch=compute_30,code=sm_30 -gencode=arch=compute_35,code=\"sm_35,compute_35\" -o absolute_layer_hessian_cuda.o /usr/local/include/boost/assert.hpp:102:47: error: ‘noinline’ was not declared in this scope BOOST_NOINLINE void assertion_failed_msg(CharT const * expr, char const * msg, char const * function,

Solution: Change Settings.mk CUDA_FLAGS_COMMON=-use_fast_math -DBOOST_NOINLINE='attribute ((noinline))'

milakov commented 10 years ago

Thanks a lot for posting the solution!