Я хочу скомпилировать этот проект рендеринга томов .Я установил инструментарий CUDA и SDK на свой компьютер с Ubuntu 10.10 и смог запустить его примеры, но я получаю следующее:
antonio@antonio-desktop:~/vfray$ make
make -f MakefileCPU
make[1]: Entering directory `/home/antonio/vfray'
make[1]: `vfRayCPU' is up to date.
make[1]: Leaving directory `/home/antonio/vfray'
make -f MakefileCUDA
make[1]: Entering directory `/home/antonio/vfray'
nvcc -o vfRay.cu_o -c vfRay.cu --ptxas-options=-v --compiler-bindir=/usr/bin/gcc-4.3 --compiler-options -fno-strict-aliasing -I. -I/usr/local/cuda/include -I/usr/local/cuda/SDK/C/common/inc -DUNIX -O3
/usr/bin/gcc-4.3: No such file or directory
make[1]: *** [vfRay.cu_o] Error 1
make[1]: Leaving directory `/home/antonio/vfray'
make: *** [cuda] Error 2
Как я могу это исправить?
Редактировать: при выполнении шагов, описанных talonmies в файле vfRay.cu, я получаю:
antonio@antonio-desktop:~/vfray$ nvcc --compiler-bindir=./jdir -arch=sm_20 -c -Xptxas="-v" vfRay.cu
vfRay.cu:25: fatal error: cutil.h: No such file or directory
compilation terminated.
Новое редактирование: хорошо, когда я включил -L для включения каталога cutil.h, я получил это для vfRay.cu и vfRayKernel.cu.
antonio@antonio-desktop:~/vfray$ nvcc --compiler-bindir=./jdir -arch=sm_20 -c -Xptxas="-v" vfRay.cu -I/home/antonio/NVIDIA_GPU_Computing_SDK/C/common/inc/
vfRay.cu:48: fatal error: vfRayKernel.cu: No such file or directory
compilation terminated.
antonio@antonio-desktop:~/vfray$ nvcc --compiler-bindir=./jdir -arch=sm_20 -c -Xptxas="-v" vfRayKernel.cu -I/home/antonio/NVIDIA_GPU_Computing_SDK/C/common/inc/
vfRayKernel.cu(80): error: identifier "BLOCK_SIZE" is undefined
vfRayKernel.cu(181): error: identifier "BLOCK_SIZE" is undefined
vfRayKernel.cu(262): error: identifier "BLOCK_SIZE" is undefined
3 errors detected in the compilation of "/tmp/tmpxft_000064a5_00000000-4_vfRayKernel.cpp1.ii".
Я думаю, что это проблема make-файла, я сомневаюсь, что эта компиляция будет работать без ее изменения.
Это make-файл для проекта:
#
# Makefile CPU / CUDA
#
#-----------------------------------------------------------------------------
all: cpu cuda
cpu: MakefileCPU
make -f MakefileCPU
cuda: MakefileCUDA
make -f MakefileCUDA
clean:
make -f MakefileCPU clean
make -f MakefileCUDA clean
Я сделал этот мод и он не работает:
all: cpu cuda
cpu: MakefileCPU
make -f MakefileCPU
cuda: MakefileCUDA
make -f MakefileCUDA
nvcc --compiler-bindir=./jdir -arch=sm_20 -c -Xptxas="-v"
clean:
make -f MakefileCPU clean
make -f MakefileCUDA clean
Редактировать: Я изменил файл common.mk так, чтобы строка 93 указывала на gcc 4.4, теперь я получаю сообщение об отсутствии cutil.Где я могу изменить это?Я попытался поместить его в папку ld в usr / bin, но ld - это программа, и я не могу стереть ее.
antonio @ antonio-desktop: ~ / vfray $ make
make -f MakefileCPU
make[1]: Entering directory `/home/antonio/vfray'
make[1]: `vfRayCPU' is up to date.
make[1]: Leaving directory `/home/antonio/vfray'
make -f MakefileCUDA
make[1]: Entering directory `/home/antonio/vfray'
g++ -fPIC -o .///vfRay .///vfRayPreComp.o .///vfRay.cu_o -L/usr/local/cuda/lib64 -L/usr/local/cuda/SDK/C/lib -L/usr/local/cuda/SDK/C/common/lib -lcudart -lGL -lGLU -lglut -L/usr/local/cuda/lib64 -L/usr/local/cuda/SDK/C/lib -L/usr/local/cuda/SDK/C/common/lib -lcutil
/usr/bin/ld: cannot find -lcutil
collect2: ld returned 1 exit status
make[1]: *** [vfRay] Error 1
make[1]: Leaving directory `/home/antonio/vfray'
make: *** [cuda] Error 2