2014-02-03 2 views
0

Я попытался запустить Rodinia на своем компьютере с cuda 5.5, учитывая make-файл, предоставленный костюмами Rodinia. В общем файле конфигурации я меняю местоположение каталога с/usr/local/cuda/на/usr/local/cuda/cuda и оставляю все без изменений. Мой nvcc работает отлично. Однако, когда я печатаю в замыкающих, я получил ошибкуRodinia Файл не найден, когда «make»

/USR/местные/CUDA/CUDA/bin/NVCC -I/USR/местные/CUDA/CUDA/включают -O2 -c backprop_cuda.cu backprop_cuda. куб: 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 

файл делают это:

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 

Извините, я не мог поместить его в формат кода, веб-сайты постоянно говорят мне, что мой отступ неверен

Спасибо заранее.

ответ

1

Я много о NVCC и т.д., но эта ошибка не знаю:

backprop_cuda.cu:12:35: error: backprop_cuda_kernel.cu: No such file or directory 

означает, что в строке 12 из backprop_cuda.cu вы включаете файл с именем backprop_cude_kernel.cu. Вы говорите, что этот файл существует в вашем текущем каталоге. Однако строка компиляции, которую вы указываете nvcc, не отображает текущий каталог как место для поиска включенных файлов.

Если nvcc не ищет локальный каталог по умолчанию, то вы должны добавить что-то вроде -I$(CURDIR) к вашей nvcc линии, чтобы получить его, чтобы посмотреть там.

+0

Где я могу добавить -I $ (CURDIR). в файле make, указанном выше, или в общем файле конфигурации? Я заранее извиняюсь, если это простой вопрос, поскольку я очень новичок в этом. – user3253821

+0

Я не знаю, к какому «обычному файлу конфигурации» вы обращаетесь. Я предлагаю добавить новый флаг '-I' в том же месте, что и текущий, в переменной' NVCC_FLAGS' в make-файле. Просто помните, что StackOverflow предназначен для быстрого ответа на конкретные технические вопросы. Это не место для изучения учебника о том, как писать программы и т. Д. Если вы действительно ничего не знаете об этих инструментах, сначала вы должны сначала найти и прочитать документацию, а затем, если у вас есть вопросы по деталям, StackOverflow - это хорошее место для Помогите. – MadScientist

0

Просто замените #include backprop_cuda_kernel.cu в файле backprop_cuda.cu по #include «backprop_cuda_kernel.cu» backprop_cuda_kernel.cu присутствует в директории, которую вы делаете макияж.

Смежные вопросы