|
|
|
@ -3,7 +3,7 @@
|
|
|
|
|
# It will search MKLML, atlas, OpenBlas, reference-cblas in order.
|
|
|
|
|
#
|
|
|
|
|
# If any cblas implementation found, the following variable will be set.
|
|
|
|
|
# CBLAS_PROVIDER # one of MKLML, ATLAS, OPENBLAS, REFERENCE
|
|
|
|
|
# CBLAS_PROVIDER # one of MKLML, OPENBLAS, REFERENCE
|
|
|
|
|
# CBLAS_INC_DIR # the include directory for cblas.
|
|
|
|
|
# CBLAS_LIBS # a list of libraries should be linked by paddle.
|
|
|
|
|
# # Each library should be full path to object file.
|
|
|
|
@ -25,42 +25,6 @@ if(WITH_MKLML AND MKLML_INC_DIR AND MKLML_LIB)
|
|
|
|
|
return()
|
|
|
|
|
endif()
|
|
|
|
|
|
|
|
|
|
## Then find atlas.
|
|
|
|
|
set(ATLAS_ROOT $ENV{ATLAS_ROOT} CACHE PATH "Folder contains Atlas")
|
|
|
|
|
set(ATLAS_INCLUDE_SEARCH_PATHS
|
|
|
|
|
${ATLAS_ROOT}/include
|
|
|
|
|
/usr/include
|
|
|
|
|
/usr/include/atlas)
|
|
|
|
|
set(ATLAS_LIB_SEARCH_PATHS
|
|
|
|
|
${ATLAS_ROOT}/lib
|
|
|
|
|
/usr/lib
|
|
|
|
|
/usr/lib/blas/atlas
|
|
|
|
|
/usr/lib/atlas
|
|
|
|
|
/usr/lib/atlas-base # special for ubuntu 14.04.
|
|
|
|
|
)
|
|
|
|
|
find_path(ATLAS_INC_DIR NAMES cblas.h
|
|
|
|
|
PATHS ${ATLAS_INCLUDE_SEARCH_PATHS})
|
|
|
|
|
find_path(ATLAS_CLAPACK_INC_DIR NAMES clapack.h
|
|
|
|
|
PATHS ${ATLAS_INCLUDE_SEARCH_PATHS})
|
|
|
|
|
find_library(ATLAS_CBLAS_LIB NAMES cblas libcblas.so.3
|
|
|
|
|
PATHS ${ATLAS_LIB_SEARCH_PATHS})
|
|
|
|
|
find_library(ATLAS_CLAPACK_LIB NAMES lapack_atlas liblapack_atlas.so.3
|
|
|
|
|
PATHS ${ATLAS_LIB_SEARCH_PATHS})
|
|
|
|
|
|
|
|
|
|
if(ATLAS_CLAPACK_INC_DIR AND ATLAS_INC_DIR AND ATLAS_CBLAS_LIB AND ATLAS_CLAPACK_LIB)
|
|
|
|
|
set(CBLAS_FOUND ON)
|
|
|
|
|
set(CBLAS_PROVIDER ATLAS)
|
|
|
|
|
set(CBLAS_INC_DIR ${ATLAS_INC_DIR} ${ATLAS_CLAPACK_INC_DIR})
|
|
|
|
|
set(CBLAS_LIBRARIES ${ATLAS_CLAPACK_LIB} ${ATLAS_CBLAS_LIB})
|
|
|
|
|
|
|
|
|
|
add_definitions(-DPADDLE_USE_ATLAS)
|
|
|
|
|
add_definitions(-DLAPACK_FOUND)
|
|
|
|
|
|
|
|
|
|
message(STATUS "Found ATLAS (include: ${ATLAS_INC_DIR}, library: ${CBLAS_LIBRARIES})")
|
|
|
|
|
message(STATUS "Found lapack in ATLAS (include: ${ATLAS_CLAPACK_INC_DIR})")
|
|
|
|
|
return()
|
|
|
|
|
endif()
|
|
|
|
|
|
|
|
|
|
## Then find openblas.
|
|
|
|
|
set(OPENBLAS_ROOT $ENV{OPENBLAS_ROOT} CACHE PATH "Folder contains Openblas")
|
|
|
|
|
set(OPENBLAS_INCLUDE_SEARCH_PATHS
|
|
|
|
|