我试图用CUDA 5.5在计算机上运行Rodinia,鉴于Rodinia Suits提供的Makefile。在"通用配置文件"中,我将目录位置从/usr/local/cuda/更改为/usr/usr/local/cuda/cuda,并使所有内容保持不变。我的NVCC工作正常。但是,当我输入Make时,我得到了错误
/usr/local/cuda/cuda/bin/bin/nvcc -i/usr/local/cuda/cuda/include -o2 -c backprop_cuda.cubackprop_cuda.cu:12:35:错误:backprop_cuda_kernel.cu:no这样的文件或目录
虽然在目录中很明显有一个名为BackProp_cuda_kernel.cu
的文件backprop.c backprop.h facetrain.o Makefile
backprop_cuda.cu backprop.o imagenet.c Makefile_nvidia
backprop_cuda_kernel.cu facetrain.c imagenet.o run
make文件是:
include ../../common/make.config
CC = gcc
CC_FLAGS = -g -O2
NVCC = $(CUDA_DIR)/bin/nvcc
NVCC_FLAGS = -I$(CUDA_DIR)/include
ifeq ($(dbg),1)
NVCC_FLAGS += -g -O0
else
NVCC_FLAGS += -O2
endif
ifeq ($(emu),1)
NVCC_FLAGS += -deviceemu
endif
backprop: backprop.o facetrain.o imagenet.o backprop_cuda.o
$(CC) $ (CC_FLAGS) backprop.o facetrain.o imagenet.o backprop_cuda.o -o backprop -
L$(CUDA_LIB_DIT) -lcuda -lcudart -lm
%.o: %.[ch]
$(CC) $(CC_FLAGS) $< -c
facetrain.o: facetrain.c backprop.h
$(CC) $(CC_FLAGS) facetrain.c -c
backprop.o: backprop.c backprop.h
$(CC) $(CC_FLAGS) backprop.c -c
backprop_cuda.o:backprop_cuda.cu backprop.h $(NVCC) $(NVCC_FLAGS) -c backprop_cuda.cu
imagenet.o: imagenet.c backprop.h $(CC) $(CC_FLAGS) imagenet.c -c
clean: rm -f *.o *~ backprop backprop_cuda.linkinfo
对不起,我无法以代码格式放置,这些网站一直告诉我我的缩进是错误的
预先感谢您。
我对NVCC等了解不多,但是这个错误:
backprop_cuda.cu:12:35: error: backprop_cuda_kernel.cu: No such file or directory
表示在backprop_cuda.cu
的第12行中,您包括一个名为backprop_cude_kernel.cu
的文件。您说此文件存在于您当前目录中。但是,您给nvcc
的编译线不会列出当前目录作为搜索随附的文件的地方。
如果默认情况下nvcc
不搜索本地目录,则您必须在nvcc
行中添加 -I$(CURDIR)
之类的东西才能使其查看。
只需替换 #include backprop_cuda_kernel.cu 在backprop_cuda.cu file中添加 #include" backprop_cuda_kernel.cu"backprop_cuda_kernel.cu存在于您正在做的目录中。