मुझे CUDA SDK के साथ भेजे गए कुछ उदाहरणों के संकलन में परेशानी है। मैंने डेवलपर्स ड्राइवर (संस्करण 270.41.19) और क्यूडा टूलकिट स्थापित किया है, फिर अंत में एसडीके (दोनों 4.0.17 संस्करण)।
प्रारंभ में यह सभी देने में संकलित नहीं था:
error -- unsupported GNU version! gcc 4.5 and up are not supported!
मैंने 81 में लाइन को जिम्मेदार पाया: /usr/local/cuda/include/host_config.h और इसे बदल दिया गया:
//#if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ > 4)
#if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ > 6)
उस बिंदु से मुझे संकलन करने के लिए केवल कुछ उदाहरण मिले, यह इसके साथ बंद हो जाता है:
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
जैसा कि कुछ उदाहरण हैं, मैं समझता हूं कि यह एक ड्राइवर की समस्या नहीं है, बल्कि एक असमर्थित एफसीसी संस्करण के साथ कुछ करना होगा। डाउनग्रेडिंग एक विकल्प नहीं है क्योंकि gcc4.6 में इस बिंदु पर निर्भरता के रूप में एक पूरी प्रणाली है ...