Created by: backyes
follow issue: https://github.com/baidu/Paddle/issues/103
more strict MKL cmake module refer: https://github.com/BVLC/caffe/blob/master/cmake/Modules/FindMKL.cmake
Currently, we just firstly fix this issue temporarily, do more better integration later.
the +find_path(MKL_INCLUDE_DIR mkl.h PATHS ${MKL_ROOT}/include ${MKL_ROOT}/lib/intel64) in https://github.com/baidu/Paddle/issues/103 is not correct.
check MKL installation as follow:
.
|-- benchmarks
| |-- hpcg
| |-- linpack
| -- mp_linpack |-- bin | |-- mklvars.csh |
-- mklvars.sh
|-- examples
| |-- examples_cluster_c.tgz
| |-- examples_cluster_f.tgz
| |-- examples_core_c.tgz
| |-- examples_core_f.tgz
| -- examples_f95.tgz |-- include | |-- blas.f90 | |-- fftw | |-- i_malloc.h | |-- intel64 | |-- lapack.f90 | |-- mkl_blacs.h | |-- mkl_blas.fi | |-- mkl_blas.h | |-- mkl_cblas.h | |-- mkl_cdft.f90 | |-- mkl_cdft.h | |-- mkl_cdft_types.h | |-- mkl_cluster_sparse_solver.f90 | |-- mkl_cluster_sparse_solver.fi | |-- mkl_cluster_sparse_solver.h | |-- mkl_df_defines.h | |-- mkl_df.f90 | |-- mkl_df_functions.h | |-- mkl_df.h | |-- mkl_dfti.f90 | |-- mkl_dfti.h | |-- mkl_df_types.h | |-- mkl_direct_blas.h | |-- mkl_direct_call.fi | |-- mkl_direct_call.h | |-- mkl_dnn.h | |-- mkl_dnn_types.h | |-- mkl_dss.f90 | |-- mkl_dss.fi | |-- mkl_dss.h | |-- mkl.fi | |-- mkl.h | |-- mkl_lapacke.h | |-- mkl_lapack.fi | |-- mkl_lapack.h | |-- mkl_pardiso.f90 | |-- mkl_pardiso.fi | |-- mkl_pardiso.h | |-- mkl_pblas.h | |-- mkl_poisson.f90 | |-- mkl_poisson.h | |-- mkl_rci.f90 | |-- mkl_rci.fi | |-- mkl_rci.h | |-- mkl_scalapack.h | |-- mkl_service.f90 | |-- mkl_service.fi | |-- mkl_service.h | |-- mkl_solvers_ee.fi | |-- mkl_solvers_ee.h | |-- mkl_sparse_handle.f90 | |-- mkl_sparse_handle.fi | |-- mkl_sparse_handle.h | |-- mkl_spblas.f90 | |-- mkl_spblas.fi | |-- mkl_spblas.h | |-- mkl_trans.fi | |-- mkl_trans.h | |-- mkl_trig_transforms.f90 | |-- mkl_trig_transforms.h | |-- mkl_types.h | |-- mkl_version.h | |-- mkl_vml_defines.h | |-- mkl_vml.f90 | |-- mkl_vml.fi | |-- mkl_vml_functions.h | |-- mkl_vml.h | |-- mkl_vml_types.h | |-- mkl_vsl_defines.h | |-- mkl_vsl.f90 | |-- mkl_vsl.fi | |-- mkl_vsl_functions.h | |-- mkl_vsl.h | |-- mkl_vsl_subroutine.fi |
-- mkl_vsl_types.h
|-- interfaces
| |-- blas95
| |-- fftw2xc
| |-- fftw2xf
| |-- fftw3xc
| |-- fftw3xf
| -- lapack95 |-- lib | |-- intel64 -> ./intel64_lin |
-- intel64_lin
-- tools |-- builder
-- mkl_link_tool
21 directories, 81 files
.
|-- benchmarks
| |-- hpcg
| |-- linpack
| -- mp_linpack |-- bin | |-- mklvars.csh |
-- mklvars.sh
|-- examples
| |-- examples_cluster_c.tgz
| |-- examples_cluster_f.tgz
| |-- examples_core_c.tgz
| |-- examples_core_f.tgz
| -- examples_f95.tgz |-- include | |-- blas.f90 | |-- fftw | |-- i_malloc.h | |-- intel64 | |-- lapack.f90 | |-- mkl_blacs.h | |-- mkl_blas.fi | |-- mkl_blas.h | |-- mkl_cblas.h | |-- mkl_cdft.f90 | |-- mkl_cdft.h | |-- mkl_cdft_types.h | |-- mkl_cluster_sparse_solver.f90 | |-- mkl_cluster_sparse_solver.fi | |-- mkl_cluster_sparse_solver.h | |-- mkl_df_defines.h | |-- mkl_df.f90 | |-- mkl_df_functions.h | |-- mkl_df.h | |-- mkl_dfti.f90 | |-- mkl_dfti.h | |-- mkl_df_types.h | |-- mkl_direct_blas.h | |-- mkl_direct_call.fi | |-- mkl_direct_call.h | |-- mkl_dnn.h | |-- mkl_dnn_types.h | |-- mkl_dss.f90 | |-- mkl_dss.fi | |-- mkl_dss.h | |-- mkl.fi | |-- mkl.h | |-- mkl_lapacke.h | |-- mkl_lapack.fi | |-- mkl_lapack.h | |-- mkl_pardiso.f90 | |-- mkl_pardiso.fi | |-- mkl_pardiso.h | |-- mkl_pblas.h | |-- mkl_poisson.f90 | |-- mkl_poisson.h | |-- mkl_rci.f90 | |-- mkl_rci.fi | |-- mkl_rci.h | |-- mkl_scalapack.h | |-- mkl_service.f90 | |-- mkl_service.fi | |-- mkl_service.h | |-- mkl_solvers_ee.fi | |-- mkl_solvers_ee.h | |-- mkl_sparse_handle.f90 | |-- mkl_sparse_handle.fi | |-- mkl_sparse_handle.h | |-- mkl_spblas.f90 | |-- mkl_spblas.fi | |-- mkl_spblas.h | |-- mkl_trans.fi | |-- mkl_trans.h | |-- mkl_trig_transforms.f90 | |-- mkl_trig_transforms.h | |-- mkl_types.h | |-- mkl_version.h | |-- mkl_vml_defines.h | |-- mkl_vml.f90 | |-- mkl_vml.fi | |-- mkl_vml_functions.h | |-- mkl_vml.h | |-- mkl_vml_types.h | |-- mkl_vsl_defines.h | |-- mkl_vsl.f90 | |-- mkl_vsl.fi | |-- mkl_vsl_functions.h | |-- mkl_vsl.h | |-- mkl_vsl_subroutine.fi |
-- mkl_vsl_types.h
|-- interfaces
| |-- blas95
| |-- fftw2xc
| |-- fftw2xf
| |-- fftw3xc
| |-- fftw3xf
| -- lapack95 |-- lib | |-- intel64 -> ./intel64_lin |
-- intel64_lin
-- tools |-- builder
-- mkl_link_tool
21 directories, 81 files
.
|-- intel64 -> ./intel64_lin
-- intel64_lin |-- libmkl_avx2.so |-- libmkl_avx512_mic.so |-- libmkl_avx512.so |-- libmkl_avx.so |-- libmkl_blas95_ilp64.a |-- libmkl_blas95_lp64.a |-- libmkl_core.a |-- libmkl_core.so |-- libmkl_def.so |-- libmkl_gf_ilp64.a |-- libmkl_gf_ilp64.so |-- libmkl_gf_lp64.a |-- libmkl_gf_lp64.so |-- libmkl_gnu_thread.a |-- libmkl_gnu_thread.so |-- libmkl_intel_ilp64.a |-- libmkl_intel_ilp64.so |-- libmkl_intel_lp64.a |-- libmkl_intel_lp64.so |-- libmkl_intel_thread.a |-- libmkl_intel_thread.so |-- libmkl_lapack95_ilp64.a |-- libmkl_lapack95_lp64.a |-- libmkl_mc3.so |-- libmkl_mc.so |-- libmkl_rt.so |-- libmkl_sequential.a |-- libmkl_sequential.so |-- libmkl_tbb_thread.a |-- libmkl_tbb_thread.so |-- libmkl_vml_avx2.so |-- libmkl_vml_avx512_mic.so |-- libmkl_vml_avx512.so |-- libmkl_vml_avx.so |-- libmkl_vml_cmpt.so |-- libmkl_vml_def.so |-- libmkl_vml_mc2.so |-- libmkl_vml_mc3.so |-- libmkl_vml_mc.so
-- locale