Windows下Caffe在GPU编译过程

GeForce8800 GTS512: cc=1.1

CUDA6.5

问题一:

src/caffe/layers/conv_layer.cu(20): error : too few arguments in function call

Error in in conv_layer.cu :forward_gpu_gemm needs the argument skip_im2col #1962

解决:

https://github.com/BVLC/caffe/issues/1962

As @liqing-ustc replied, just add "false" as the fourth argument.

问题二:

1>D:\Dev\caffe-master-gpu\include\caffe/util/gpu_util.cuh(28): error : identifier "__longlong_as_double" is undefined

1>D:\Dev\caffe-master-gpu\include\caffe/util/gpu_util.cuh(28): error : identifier "__double_as_longlong" is undefined

1>D:\Dev\caffe-master-gpu\include\caffe/util/gpu_util.cuh(27): error : no instance of overloaded function "atomicCAS" matches the argument list

1>D:\Dev\caffe-master-gpu\include\caffe/util/gpu_util.cuh(30): error : identifier "__longlong_as_double" is undefined

无法解决

结论:

https://github.com/happynear/caffe-windows/issues/41

My GPU is Geforce310M (compute compatibility=12). I had to use CUDA 6.5, as CUDA 7.0 does not support compute compatibility of 12. So I changed all "7.0" to "6.5". I have also changed all of the compute's and sm's to 12. I'd be very happy if you could let me know how I can solve this problem

CUDA 6.5 is no longer supported by caffe.

BTW, the speed of 310M would not be faster than a CPU. I suggest you to use CPU mode.