0
我有一個包含我的cuda內核的.cu文件和一個調用內核的包裝函數。我也有一堆.c文件,其中一個包含主要功能。其中一個.c文件調用.cu的包裝函數來調用內核。鏈接cuda目標文件
我編譯這些文件如下:
LIBS=-lcuda -lcudart
LIBDIR=-L/usr/local/cuda/lib64
CFLAGS = -g -c -Wall -Iinclude -Ioflib
NVCCFLAGS =-g -c -Iinclude -Ioflib
CFLAGSEXE =-g -O2 -Wall -Iinclude -Ioflib
CC=gcc
NVCC=nvcc
objects := $(patsubst oflib/%.c,oflib/%.o,$(wildcard oflib/*.c))
table-hash-gpu.o: table-hash.cu table-hash.h
$(NVCC) $(NVCCFLAGS) table-hash.cu -o table-hash-gpu.o
main: main.c $(objects) table-hash-gpu.o
$(CC) $(CFLAGSEXE) $(objects) table-hash-gpu.o -o udatapath udatapath.c $(LIBS) $(LIBDIR)
到目前爲止,一切都很好。 table-hash-gpu.cu從一個.c文件中調用一個函數。當爲主要鏈接時,我得到該函數不存在的錯誤。有人可以告訴我發生了什麼事嗎?
哪個函數不存在?它是不存在的內核嗎? – ATG