私は Ubuntu 12.10 を使用しており、CUDA 5.0 とそのサンプル キットも正常にインストールされています。私も実行しましたsudo apt-get install nvidia-cuda-toolkit
。以下は、CUDA の hello world プログラムです。
#include <stdio.h> /* Core input/output operations */
#include <stdlib.h> /* Conversions, random numbers, memory allocation, etc. */
#include <math.h> /* Common mathematical functions */
#include <time.h> /* Converting between various date/time formats */
#include <cuda.h> /* CUDA related stuff */
__global__ void kernel(void) {
}
/* MAIN PROGRAM BEGINS */
int main(void) {
/* Dg = 1; Db = 1; Ns = 0; S = 0 */
kernel<<<1,1>>>();
/* PRINT 'HELLO, WORLD!' TO THE SCREEN */
printf("\n Hello, World!\n\n");
/* INDICATE THE TERMINATION OF THE PROGRAM */
return 0;
}
/* MAIN PROGRAM ENDS */
でコンパイルすると、次のエラーが発生しますnvcc -g hello_world_cuda.cu -o hello_world_cuda.x
/tmp/tmpxft_000033f1_00000000-13_hello_world_cuda.o: In function `main':
/home/adarshakb/Documents/hello_world_cuda.cu:16: undefined reference to `cudaConfigureCall'
/tmp/tmpxft_000033f1_00000000-13_hello_world_cuda.o: In function `__cudaUnregisterBinaryUtil':
/usr/include/crt/host_runtime.h:172: undefined reference to `__cudaUnregisterFatBinary'
/tmp/tmpxft_000033f1_00000000-13_hello_world_cuda.o: In function `__sti____cudaRegisterAll_51_tmpxft_000033f1_00000000_4_hello_world_cuda_cpp1_ii_b81a68a1':
/tmp/tmpxft_000033f1_00000000-1_hello_world_cuda.cudafe1.stub.c:1: undefined reference to `__cudaRegisterFatBinary'
/tmp/tmpxft_000033f1_00000000-1_hello_world_cuda.cudafe1.stub.c:1: undefined reference to `__cudaRegisterFunction'
/tmp/tmpxft_000033f1_00000000-13_hello_world_cuda.o: In function `cudaError cudaLaunch<char>(char*)':
/usr/lib/nvidia-cuda-toolkit/include/cuda_runtime.h:958: undefined reference to `cudaLaunch'
collect2: ld returned 1 exit status
また、gcc と g++ バージョン 4.4 を使用していることも確認しています (4.7 には CUDA に問題があります)。