Problema de Vinculação do Cuda 5.0

Eu estou apenas tentando construir um projeto antigo meu usando o cuda 5.0 preview. Eu recebo um erro ao ligar, dizendo-me que certas funções cuda não podem ser encontradas. Por exemplo:

undefined reference to 'cudaMalloc'.

Meu comando de vinculação inclui as seguintes opções para cuda:

-L / usr / local / cuda / lib64 -L / home / myhome / NVIDIA_CUDA_Samples / C / lib -L / home / myhome / NVIDIA_CUDA_Samples / C / common / lib / linux -lcudart

ls -lah /usr/local/cuda/lib64/ me dá 8 bibliotecas cuda incluindo libcudart.so.5.0.7 com links simbólicos usando apenas a terminação .so-file.

ls /home/myhome/NVIDIA_CUDA_Samples/C/lib/ me dá um diretório vazio, o que é meio estranho?

ls /home/myhome/NVIDIA_CUDA_Samples/C/common/lib/linux/ me dá dois diretórios: i686 e x86_64 ambos contendo apenas libGLEW.a

Não tenho idéia de qual caminho procurar uma solução. Qualquer ajuda é apreciada!

EDITAR:

Aqui está o meu comando de ligação completo (TARGET_APPLICATION é meu binário e x86_64 / Objectfiles.o significa todos os (23) arquivos de objeto, incluindo o arquivo de objeto compilado com nvcc):

/home/myhome/nullmpi-0.7/bin/mpicxx -CC=g++ -I. -I/home/myhome/nullmpi-0.7/src -I/usr/lib/openmpi/include -L/usr/local/cuda/lib64 -L/home/myhome/NVIDIA_CUDA_Samples/C/lib -L/home/myhome/NVIDIA_CUDA_Samples/C/common/lib/linux -lcudart -o TARGET_APPLICATION x86_64/Objectfiles.o /usr/lib/liblapack.so /usr/lib/libblas.so /home/myhome/nullmpi-0.7/lib/libnullpmpi.a -lm

eu usonullmpi para compilação e ligação (o projeto usa MPI e CUDA), que usa internamenteg++ como pode ser visto por-CC=g++Eu queria manter essas coisas fora.

O comando de compilação para o meu arquivo de objeto cuda:

/usr/local/cuda/bin/nvcc -c -arch=sm_21 -L/home/myhome/NVIDIA_CUDA_Samples/C/lib -O3 kernelwrapper.cu -o x86_64/kernelwrapper.RELEASE.2.o

echo $LD_LIBRARY_PATH resulta em:

/usr/local/cuda/lib64:/usr/local/cuda/lib:

echo $PATH resulta em:

outras opções:/usr/local/cuda/bin:/home/myhome/nullmpi-0.7/bin

Estou construindo 64 bits. Por uma questão de completude estou construindo no Ubuntu 12.04. (64 bits)Construir as amostras CUDA funciona bem.

SOLUÇÃO (graças a talonmies para me apontar para isso):

Este é o comando de vinculação correto:

/home/myhome/nullmpi-0.7/bin/mpicxx -CC=g++ -I. -I/home/myhome/nullmpi-0.7/src -I/usr/lib/openmpi/include -L/usr/local/cuda/lib64 -L/home/myhome/NVIDIA_CUDA_Samples/C/lib -L/home/myhome/NVIDIA_CUDA_Samples/C/common/lib/linux -o TARGET_APPLICATION x86_64/Objectfiles.o /usr/lib/liblapack.so /usr/lib/libblas.so /home/myhome/nullmpi-0.7/lib/libnullpmpi.a -lcudart -lm

questionAnswers(1)

yourAnswerToTheQuestion