我正试图从更快的地方得到一个区域建议--RCNN。我在github中找到了这个漂亮而整洁的repo,但是每当我执行shell命令sh make.sh时,它都会发出一个cffi.error.VerificationError: LinkError: command 'gcc' failed with exit status 1错误,这是我从未听说过的。当我搜索它时,它似乎与错误的CUDA_ARCH设置有关,但是我的本地机器中没有GPU。
#!/usr/bin/env bash
# CUDA_PATH=/usr/local/cuda/
export CUDA_PATH=/usr/local/cuda/
#You may also want to ad the following
#export C_INCLUDE_PATH=/opt/cuda/include
export CXXFLAGS="-std=c++11"
export CFLAGS="-std=c99"
python setup.py build_ext --inplace
rm -rf build
CUDA_ARCH="-gencode arch=compute_30,code=sm_30 \
-gencode arch=compute_35,code=sm_35 \
-gencode arch=compute_50,code=sm_50 \
-gencode arch=compute_52,code=sm_52 \
-gencode arch=compute_60,code=sm_60 \
-gencode arch=compute_61,code=sm_61 "
# compile NMS
cd model/nms/src
echo "Compiling nms kernels by nvcc..."
nvcc -c -o nms_cuda_kernel.cu.o nms_cuda_kernel.cu \
-D GOOGLE_CUDA=1 -x cu -Xcompiler -fPIC $CUDA_ARCH
cd ../
python build.py
# compile roi_pooling
cd ../../
cd model/roi_pooling/src
echo "Compiling roi pooling kernels by nvcc..."
nvcc -c -o roi_pooling.cu.o roi_pooling_kernel.cu \
-D GOOGLE_CUDA=1 -x cu -Xcompiler -fPIC $CUDA_ARCH
cd ../
python build.py
# compile roi_align
cd ../../
cd model/roi_align/src
echo "Compiling roi align kernels by nvcc..."
nvcc -c -o roi_align_kernel.cu.o roi_align_kernel.cu \
-D GOOGLE_CUDA=1 -x cu -Xcompiler -fPIC $CUDA_ARCH
cd ../
python build.py
# compile roi_crop
cd ../../
cd model/roi_crop/src
echo "Compiling roi crop kernels by nvcc..."
nvcc -c -o roi_crop_cuda_kernel.cu.o roi_crop_cuda_kernel.cu \
-D GOOGLE_CUDA=1 -x cu -Xcompiler -fPIC $CUDA_ARCH
cd ../
python build.py我一直在寻找如何在没有GPU的情况下合成CUDA代码,但它并没有给我一个完美的解决方案。我还删除了CUDA_ARCH,并将GOOGLE_CUDA设置为0,但都失败了。任何帮助都将不胜感激。
发布于 2018-10-12 11:34:33
如果不使用GPU,您可能可以构建这个程序。不过,这不是很有用。nvcc编译器生成GPU代码,因此您无法运行生成的代码。
尽管如此,对于遇到同样问题的其他人,您可以通过安装CUDA 元包来实现这一点,特别是编译器和开发库,而不是驱动程序和运行时。
https://stackoverflow.com/questions/52773857
复制相似问题