Tengo problemas para compilar algunos de los ejemplos enviados con CUDA SDK. He instalado el controlador de desarrolladores (versión 270.41.19) y el kit de herramientas CUDA, luego finalmente el SDK (ambas versiones 4.0.17).
Inicialmente no se compiló en absoluto dando:
error -- unsupported GNU version! gcc 4.5 and up are not supported!
Encontré la línea responsable en 81: /usr/local/cuda/include/host_config.hy la cambié a:
//#if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ > 4)
#if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ > 6)
a partir de ese momento obtuve solo algunos de los ejemplos para compilar, se detiene con:
In file included from /usr/include/c++/4.6/x86_64-linux-gnu/bits/gthr.h:162:0,
from /usr/include/c++/4.6/ext/atomicity.h:34,
from /usr/include/c++/4.6/bits/ios_base.h:41,
from /usr/include/c++/4.6/ios:43,
from /usr/include/c++/4.6/ostream:40,
from /usr/include/c++/4.6/iterator:64,
from /usr/local/cuda/include/thrust/iterator/iterator_categories.h:38,
from /usr/local/cuda/include/thrust/device_ptr.h:26,
from /usr/local/cuda/include/thrust/device_malloc_allocator.h:27,
from /usr/local/cuda/include/thrust/device_vector.h:26,
from lineOfSight.cu:37:
/usr/include/c++/4.6/x86_64-linux-gnu/bits/gthr-default.h:251:1: error: pasting "__gthrw_" and "/* Android's C library does not provide pthread_cancel, check for
`pthread_create' instead. */" does not give a valid preprocessing token
make[1]: *** [obj/x86_64/release/lineOfSight.cu.o] Error 1
A medida que se compilan algunos de los ejemplos, creo que esto no es un problema de controlador, sino que debe tener algo que ver con una versión de gcc no compatible. La degradación no es una opción ya que gcc4.6 tiene un sistema completo como dependencia en este momento ...