8000 Adjust CMake code for Eigen by cyyever · Pull Request #148628 · pytorch/pytorch · GitHub
[go: up one dir, main page]

Skip to content

Adjust CMake code for Eigen #148628

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 2 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 0 additions & 2 deletions caffe2/core/macros.h.in
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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}"}, \
Expand Down
39 changes: 20 additions & 19 deletions cmake/Dependencies.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -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})
Expand Down Expand Up @@ -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)
Expand Down Expand Up @@ -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()

Expand All @@ -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
Expand Down Expand Up @@ -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
Expand Down
1 change: 0 additions & 1 deletion cmake/Summary.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -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}")
Expand Down
Loading
0