CUDA produziert Linker-Fehler mit GCC
Verfasst: 22.03.2013, 15:35
Hallo liebes Forum,
ich versuche gerade sein einem Tag die CUDA Runtime in C++ einzubinden. Ich verwende das CUDA SDK v5.0 für x64, GCC 4.7.1 für x64 unter Win7SP1 x64. Ich möchte als Funktionstest nur die Funktion cudaGetDeviceCount aufrufen und das produziert einen Linker-Fehler. Ich binde ein #include <cuda_runtime_api.h> und linke mit -lcudart. Dennoch produziert der Linker diesen Fehler: undefined reference to `cudaGetDeviceCount' .
Alternativ habe ich mir die Funktion direkt mit GetProcAddress geladen und das scheint zu funktionieren.
Habt ihr vielleicht Erfahrung mit CUDA und wie man es zum Laufen bekommt? Ich möchte ungern einen Wrapper für alle CUDA-Funktionen schreiben. Die Dokumentation ist auch nicht sehr übersichtlich, was das Einbinden der Essentials bedingt. In "cuda.h" stehen z.B. alte (?) Funktionsnamen drin, wie cuDeviceGetCount, wie sie noch in der Doku für CUDA SDK v4.0 erwähnt werden.
Grüße Bergmon
ich versuche gerade sein einem Tag die CUDA Runtime in C++ einzubinden. Ich verwende das CUDA SDK v5.0 für x64, GCC 4.7.1 für x64 unter Win7SP1 x64. Ich möchte als Funktionstest nur die Funktion cudaGetDeviceCount aufrufen und das produziert einen Linker-Fehler. Ich binde ein #include <cuda_runtime_api.h> und linke mit -lcudart. Dennoch produziert der Linker diesen Fehler: undefined reference to `cudaGetDeviceCount' .
Alternativ habe ich mir die Funktion direkt mit GetProcAddress geladen und das scheint zu funktionieren.
Habt ihr vielleicht Erfahrung mit CUDA und wie man es zum Laufen bekommt? Ich möchte ungern einen Wrapper für alle CUDA-Funktionen schreiben. Die Dokumentation ist auch nicht sehr übersichtlich, was das Einbinden der Essentials bedingt. In "cuda.h" stehen z.B. alte (?) Funktionsnamen drin, wie cuDeviceGetCount, wie sie noch in der Doku für CUDA SDK v4.0 erwähnt werden.
Grüße Bergmon