diff --git a/caffe2/core/macros.h.in b/caffe2/core/macros.h.in index 9b05d629edec37..b5c056f25ee50b 100644 --- a/caffe2/core/macros.h.in +++ b/caffe2/core/macros.h.in @@ -15,7 +15,6 @@ #cmakedefine CAFFE2_THREADPOOL_STATS #cmakedefine CAFFE2_USE_ACCELERATE #cmakedefine CAFFE2_USE_CUDNN -#cmakedefine CAFFE2_USE_EIGEN_FOR_BLAS #cmakedefine CAFFE2_USE_FBCODE #cmakedefine CAFFE2_USE_GOOGLE_GLOG #cmakedefine CAFFE2_USE_LITE_PROTO @@ -57,7 +56,6 @@ {"PERF_WITH_AVX", "${CAFFE2_PERF_WITH_AVX}"}, \ {"PERF_WITH_AVX2", "${CAFFE2_PERF_WITH_AVX2}"}, \ {"USE_ACCELERATE", "${CAFFE2_USE_ACCELERATE}"}, \ - {"USE_EIGEN_FOR_BLAS", "${CAFFE2_USE_EIGEN_FOR_BLAS}"}, \ {"USE_LITE_PROTO", "${CAFFE2_USE_LITE_PROTO}"}, \ {"USE_MKL", "${CAFFE2_USE_MKL}"}, \ {"USE_MKLDNN", "${USE_MKLDNN}"}, \ diff --git a/cmake/Dependencies.cmake b/cmake/Dependencies.cmake index 1a151747750197..614de8ec413337 100644 --- a/cmake/Dependencies.cmake +++ b/cmake/Dependencies.cmake @@ -158,15 +158,12 @@ if(NOT INTERN_BUILD_MOBILE) set(BLAS "MKL" CACHE STRING "Selected BLAS library") else() set(BLAS "Eigen" CACHE STRING "Selected BLAS library") - set(AT_MKLDNN_ENABLED 0) - set(AT_MKL_ENABLED 0) endif() set_property(CACHE BLAS PROPERTY STRINGS "ATLAS;BLIS;Eigen;FLAME;Generic;MKL;OpenBLAS;vecLib;APL") message(STATUS "Trying to find preferred BLAS backend of choice: " ${BLAS}) if(BLAS STREQUAL "Eigen") # Eigen is header-only and we do not have any dependent libraries - set(CAFFE2_USE_EIGEN_FOR_BLAS ON) elseif(BLAS STREQUAL "ATLAS") find_package(Atlas REQUIRED) include_directories(SYSTEM ${ATLAS_INCLUDE_DIRS}) @@ -206,8 +203,8 @@ elseif(BLAS STREQUAL "MKL") set(BLAS_LIBRARIES ${MKL_LIBRARIES}) else() message(WARNING "MKL could not be found. Defaulting to Eigen") - set(CAFFE2_USE_EIGEN_FOR_BLAS ON) set(CAFFE2_USE_MKL OFF) + set(BLAS "Eigen") endif() elseif(BLAS STREQUAL "NVPL") find_package(NVPL_BLAS REQUIRED) @@ -257,6 +254,9 @@ if(NOT INTERN_BUILD_MOBILE) find_package(BLAS) if(NOT BLAS_FOUND) set(USE_BLAS 0) + else() + message(WARNING "Found BLAS libraries ${BLAS_LIBRARIES}") + list(APPEND Caffe2_DEPENDENCY_LIBS "${BLAS_LIBRARIES}") endif() endif() @@ -269,8 +269,7 @@ if(NOT INTERN_BUILD_MOBILE) elseif(INTERN_USE_EIGEN_BLAS) # Eigen BLAS for Mobile set(USE_BLAS 1) - include(${CMAKE_CURRENT_LIST_DIR}/External/EigenBLAS.cmake) - list(APPEND Caffe2_DEPENDENCY_LIBS eigen_blas) + set(BLAS "Eigen") endif() # --- [ PocketFFT @@ -840,23 +839,25 @@ elseif(NOT TARGET fp16 AND USE_SYSTEM_FP16) endif() list(APPEND Caffe2_DEPENDENCY_LIBS fp16) -# ---[ EIGEN -# Due to license considerations, we will only use the MPL2 parts of Eigen. -set(EIGEN_MPL2_ONLY 1) -if(USE_SYSTEM_EIGEN_INSTALL) - find_package(Eigen3) - if(EIGEN3_FOUND) - message(STATUS "Found system Eigen at " ${EIGEN3_INCLUDE_DIR}) +if(BLAS STREQUAL "Eigen") + # Due to license considerations, we will only use the MPL2 parts of Eigen. + set(EIGEN_MPL2_ONLY 1) + add_compile_definitions(EIGEN_MPL2_ONLY) + if(USE_SYSTEM_EIGEN_INSTALL) + find_package(Eigen3) + if(EIGEN3_FOUND) + message(STATUS "Found system Eigen at " ${EIGEN3_INCLUDE_DIR}) + else() + message(STATUS "Did not find system Eigen. Using third party subdirectory.") + set(EIGEN3_INCLUDE_DIR ${CMAKE_CURRENT_LIST_DIR}/../third_party/eigen) + caffe2_update_option(USE_SYSTEM_EIGEN_INSTALL OFF) + endif() else() - message(STATUS "Did not find system Eigen. Using third party subdirectory.") + message(STATUS "Using third party subdirectory Eigen.") set(EIGEN3_INCLUDE_DIR ${CMAKE_CURRENT_LIST_DIR}/../third_party/eigen) - caffe2_update_option(USE_SYSTEM_EIGEN_INSTALL OFF) endif() -else() - message(STATUS "Using third party subdirectory Eigen.") - set(EIGEN3_INCLUDE_DIR ${CMAKE_CURRENT_LIST_DIR}/../third_party/eigen) + include_directories(SYSTEM ${EIGEN3_INCLUDE_DIR}) endif() -include_directories(SYSTEM ${EIGEN3_INCLUDE_DIR}) # ---[ Python Interpreter diff --git a/cmake/Summary.cmake b/cmake/Summary.cmake index b46560e123ba3a..cdcdd1d878d60f 100644 --- a/cmake/Summary.cmake +++ b/cmake/Summary.cmake @@ -134,7 +134,6 @@ function(caffe2_print_configuration_summary) message(STATUS " USE_MEM_EFF_ATTENTION : ${USE_MEM_EFF_ATTENTION}") endif() message(STATUS " BUILD_NVFUSER : ${BUILD_NVFUSER}") - message(STATUS " USE_EIGEN_FOR_BLAS : ${CAFFE2_USE_EIGEN_FOR_BLAS}") message(STATUS " USE_FBGEMM : ${USE_FBGEMM}") message(STATUS " USE_FAKELOWP : ${USE_FAKELOWP}") message(STATUS " USE_KINETO : ${USE_KINETO}")