简体   繁体   中英

Error while compiling Hello world program for CUDA

I am using Ubuntu 12.10 and have sucessfully installed CUDA 5.0 and its sample kits too. I have also run sudo apt-get install nvidia-cuda-toolkit Below is my hello world program for CUDA:

#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 */

The following error occurs when I compile it with 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

I am also making sure that I use gcc and g++ version 4.4 ( As 4.7 there is some problem with CUDA)

I think, these links will help you.

Video demo of installation of Developer Drivers

Use the same command lines to install toolkit and sdk.

You need to change the directories when you open terminal every time. Those instructions are given in page-11 of Linux Installation

Before everything, you need to download the .run files from the Developers Page.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM