@@ -41,28 +41,29 @@ if(DEFINED ENV{ARMPL_DIR} OR DEFINED ENV{ARMPLROOT} OR DEFINED ENV{ARMPL_ROOT})
41
41
endif ()
42
42
else ()
43
43
if (PALACE_WITH_OPENMP)
44
- set (ARMPL_LIB_SUFFIX "_lp64_mp " )
44
+ set (ARMPL_LIB_SUFFIX "_mp " )
45
45
else ()
46
- set (ARMPL_LIB_SUFFIX "_lp64 " )
46
+ set (ARMPL_LIB_SUFFIX "" )
47
47
endif ()
48
48
endif ()
49
- find_library (_BLAS_LAPACK_LIBRARIES
50
- NAMES armpl ${ARMPL_LIB_SUFFIX} armpl
51
- PATHS ${ARMPL_DIR}
52
- PATH_SUFFIXES lib lib64
53
- NO_DEFAULT_PATH
54
- REQUIRED
55
- )
49
+ list ( APPEND CMAKE_PREFIX_PATH ${ARMPL_DIR} )
50
+ set (BLA_VENDOR "Arm ${ARMPL_LIB_SUFFIX} " )
51
+ find_package (BLAS REQUIRED)
52
+ find_package (LAPACK REQUIRED)
53
+ set (LAPACK_LIBRARIES " ${LAPACK_LIBRARIES} ;-lm" )
54
+
55
+ # Locate include directory
56
56
find_path (_BLAS_LAPACK_INCLUDE_DIRS
57
- NAMES cblas .h
57
+ NAMES armpl .h
58
58
PATHS ${ARMPL_DIR}
59
- PATH_SUFFIXES include ${ARMPL_LIB_SUFFIX} include
59
+ PATH_SUFFIXES include
60
60
NO_DEFAULT_PATH
61
61
REQUIRED
62
62
)
63
63
message (STATUS "Using BLAS/LAPACK from Arm Performance Libraries (Arm PL)" )
64
64
elseif (DEFINED ENV{AOCL_DIR} OR DEFINED ENV{AOCLROOT} OR DEFINED ENV{AOCL_ROOT})
65
- # AOCL for x86_64 builds when available
65
+ # AOCL for x86_64 builds when available (part of CMake's FindBLAS/FindLAPACK as of v3.27
66
+ # but unnecessarily adds -fopenmp flag)
66
67
if (CMAKE_SYSTEM_PROCESSOR MATCHES "aarch64|arm" )
67
68
message (WARNING "AOCL math libraries are not intended for arm64 architecture builds" )
68
69
endif ()
@@ -85,21 +86,22 @@ elseif(DEFINED ENV{AOCL_DIR} OR DEFINED ENV{AOCLROOT} OR DEFINED ENV{AOCL_ROOT})
85
86
else ()
86
87
set (AOCL_LIB_SUFFIX "" )
87
88
endif ()
88
- find_library (BLIS_LIBRARY
89
+ find_library (BLAS_LIBRARIES
89
90
NAMES blis${AOCL_LIB_SUFFIX} blis
90
91
PATHS ${AOCL_DIR}
91
92
PATH_SUFFIXES lib${AOCL_DIR_SUFFIX} lib lib64
92
93
NO_DEFAULT_PATH
93
94
REQUIRED
94
95
)
95
- find_library (FLAME_LIBRARY
96
+ find_library (LAPACK_LIBRARIES
96
97
NAMES flame FLAME
97
98
PATHS ${AOCL_DIR}
98
99
PATH_SUFFIXES lib${AOCL_DIR_SUFFIX} lib lib64
99
100
NO_DEFAULT_PATH
100
101
REQUIRED
101
102
)
102
- set (_BLAS_LAPACK_LIBRARIES "${FLAME_LIBRARY} $<SEMICOLON>${BLIS_LIBRARY} " )
103
+
104
+ # Locate include directory
103
105
find_path (_BLAS_LAPACK_INCLUDE_DIRS
104
106
NAMES cblas.h
105
107
PATHS ${AOCL_DIR}
@@ -139,9 +141,8 @@ elseif(DEFINED ENV{MKL_DIR} OR DEFINED ENV{MKLROOT} OR DEFINED ENV{MKL_ROOT})
139
141
set (BLA_VENDOR "Intel10${MKL_LIB_SUFFIX} " )
140
142
find_package (BLAS REQUIRED)
141
143
find_package (LAPACK REQUIRED)
142
- set (_BLAS_LAPACK_LIBRARIES ${LAPACK_LIBRARIES} ${BLAS_LIBRARIES} )
143
- list (REMOVE_DUPLICATES _BLAS_LAPACK_LIBRARIES)
144
- string (REPLACE ";" "$<SEMICOLON>" _BLAS_LAPACK_LIBRARIES "${_BLAS_LAPACK_LIBRARIES} " )
144
+
145
+ # Locate include directories
145
146
find_path (_BLAS_LAPACK_INCLUDE_DIRS
146
147
NAMES mkl_cblas.h
147
148
PATHS ${MKL_DIR}
@@ -165,11 +166,10 @@ else()
165
166
list (APPEND CMAKE_PREFIX_PATH ${OPENBLAS_DIR} )
166
167
find_package (BLAS REQUIRED)
167
168
find_package (LAPACK REQUIRED)
168
- set (_BLAS_LAPACK_LIBRARIES ${LAPACK_LIBRARIES} ${BLAS_LIBRARIES} )
169
- list (REMOVE_DUPLICATES _BLAS_LAPACK_LIBRARIES)
170
- string (REPLACE ";" "$<SEMICOLON>" _BLAS_LAPACK_LIBRARIES "${_BLAS_LAPACK_LIBRARIES} " )
169
+
170
+ # Locate include directory
171
171
set (_BLAS_LAPACK_DIRS)
172
- foreach (LIB IN LISTS _BLAS_LAPACK_LIBRARIES )
172
+ foreach (LIB IN LISTS LAPACK_LIBRARIES BLAS_LIBRARIES )
173
173
get_filename_component (LIB_DIR ${LIB} DIRECTORY )
174
174
list (APPEND _BLAS_LAPACK_DIRS ${LIB_DIR} )
175
175
endforeach ()
@@ -184,6 +184,9 @@ else()
184
184
endif ()
185
185
186
186
# Save variables to cache
187
+ set (_BLAS_LAPACK_LIBRARIES ${LAPACK_LIBRARIES} ${BLAS_LIBRARIES} )
188
+ list (REMOVE_DUPLICATES _BLAS_LAPACK_LIBRARIES)
189
+ string (REPLACE ";" "$<SEMICOLON>" _BLAS_LAPACK_LIBRARIES "${_BLAS_LAPACK_LIBRARIES} " )
187
190
set (BLAS_LAPACK_LIBRARIES ${_BLAS_LAPACK_LIBRARIES} CACHE STRING
188
191
"List of library files for BLAS/LAPACK"
189
192
)
0 commit comments