“make”时找不到Rodinia文件

时间:2014-02-03 21:55:31

标签: cuda makefile

考虑到rodinia套装提供的makefile,我尝试用cuda 5.5在我的电脑上运行Rodinia。在公共配置文件中,我将目录位置从/ usr / local / cuda /更改为/ usr / local / cuda / cuda并保持一切不变。我的nvcc工作正常。但是,当我输入make时,我收到了错误

/ usr / local / cuda / cuda / bin / nvcc -I / usr / local / cuda / cuda / include -O2 -c backprop_cuda.cu backprop_cuda.cu:12:35:错误:backprop_cuda_kernel.cu:没有这样的文件或目录

虽然目录中有一个名为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

抱歉,我不能把它放在代码格式中,网站一直告诉我,我的缩进是错误的

提前谢谢你。

2 个答案:

答案 0 :(得分:1)

我对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没有搜索本地目录,那么您必须在-I$(CURDIR)行添加nvcc之类的内容才能让它看到那里。

答案 1 :(得分:0)

只需用 #include&#34; backprop_cuda_kernel.cu&#34; 替换backprop_cuda.cu文件中的 #include backprop_cuda_kernel.cu backprop_cuda_kernel.cu存在于您正在进行make的目录中。