Cuda C - Linker error - referência indefinida

Eu estou tendo dificuldade em compilar um programa cuda simples, consitando apenas dois arquivos.

O main.c se parece com isso:

#include "my_cuda.h"

int main(int argc, char** argv){
   dummy_gpu();
}

O cuda.h é assim:

#ifndef MY_DUMMY
#define MY_DUMMY

void dummy_gpu();

#endif

E o arquivo my_cuda.cu é assim:

#include <cuda_runtime.h>
#include "my_cuda.h"

__global__ void dummy_gpu_kernel(){
   //do something
}

void dummy_gpu(){
   dummy_gpu_kernel<<<128,128>>>();
}

No entanto, se eu compilar, sempre recebo o seguinte erro:

gcc  -I/usr/local/cuda/5.0.35/include/ -c main.c
nvcc  -c my_cuda.cu
gcc  -L/usr/local_rwth/sw/cuda/5.0.35/lib64 -lcuda -lcudart -o md.exe main.o my_cuda.o 
main.o: In function `main':
main.c:(.text+0x15): undefined reference to `dummy_gpu'
collect2: ld returned 1 exit status

Obrigado pela ajuda.

questionAnswers(2)

yourAnswerToTheQuestion