IntelLabs / SkimCaffe

Caffe for Sparse Convolutional Neural Network
Other
238 stars 64 forks source link

make error - libxsmm #4

Open sujing1 opened 7 years ago

sujing1 commented 7 years ago

Issue summary

make libxsmm fails with f77 errors when building SkimCaffe. However, libxsmm can be built successfully as a standalone library. I'd appreciate any advices!

make_libxsmm log Makefile.config

Steps to reproduce

1.

source /opt/intel/compilers_and_libraries/linux/bin/compilervars.sh -arch intel64 -platform linux
. /opt/intel/compilers_and_libraries/linux/bin/compilervars.sh -arch intel64 -platform linux

2.

$ cd ./SkimCaffe-intel_scnn
$ make libxsmm -j4

f77: error: 10006,10010,10411,13003: No such file or directory
f77: error: fast=2: No such file or directory
f77: error: unrecognized command line option ‘-threads’
f77: error: unrecognized command line option ‘-fp-model’
f77: error: unrecognized command line option ‘-qoverride_limits’
f77: error: unrecognized command line option ‘-module’
Makefile:714: recipe for target 'build/intel64/libxsmm-mod.o' failed
make[1]: *** [build/intel64/libxsmm-mod.o] Error 1
make[1]: Leaving directory '/home/sujing/bin/SkimCaffe-intel_scnn/src/libxsmm'
Makefile:478: recipe for target 'libxsmm' failed
make: *** [libxsmm] Error 2

Your system configuration

Operating system: Ubuntu 16.04 Compiler: Intel Compiler CUDA version (if applicable): 8.0 CUDNN version (if applicable): 6.0 BLAS: OpenBLAS 0.2.19 Python: 2.7

sujing1 commented 7 years ago

Error Log

Trying to build the latest release, but I find different errors. Would this be related to CUDA or cuDNN?

/home/sujing/bin/SkimCaffe-intel_scnn/include/caffe/util/winograd.hpp(144): error: identifier "spotrf" is undefined

/home/sujing/bin/SkimCaffe-intel_scnn/include/caffe/util/winograd.hpp(149): error: identifier "dpotrf" is undefined

/home/sujing/bin/SkimCaffe-intel_scnn/include/caffe/util/winograd.hpp(158): error: identifier "spotrs" is undefined

/home/sujing/bin/SkimCaffe-intel_scnn/include/caffe/util/winograd.hpp(164): error: identifier "dpotrs" is undefined
jspark1105 commented 7 years ago

Thanks for reporting this issue. Regarding the f77 error when building libxsmm, if the installed Intel compiler includes Fortran compiler as well, you shouldn't see the error. I'll also look at if I can remove the dependency to the Intel Fortran compiler as soon as I have time. Regarding the spotrf/dpotrf/spotrs/dpotrs errors, perhaps Intel MKL is not installed in your system or not configured? Anyway, those function calls are not needed in winograd.hpp anymore. I've just pushed the changes. Please let me know how it goes.

hfp commented 7 years ago

It looks like this can be resolved by adjusting https://github.com/IntelLabs/SkimCaffe/blob/intel_scnn/Makefile#L481 such that FC= is included into the make-line (which is equivalent to FORTRAN=0). In any case this removes the dependency of a FORTRAN compiler when building LIBXSMM.

jspark1105 commented 7 years ago

Thanks Hans! Fixed and pushed.