mirror of
https://github.com/reactos/CMake.git
synced 2024-11-27 05:20:34 +00:00
Find{BLAS,LAPACK}: Add support for ArmPL targets
Add support for the Arm Performance Libraries (ArmPL) which provide an implementation of BLAS, LAPACK and FFTW for use on Arm Linux systems: https://developer.arm.com/tools-and-software/server-and-hpc/compile/arm-compiler-for-linux/arm-performance-libraries
This commit is contained in:
parent
9532929216
commit
14ffa6e90e
@ -48,6 +48,10 @@ The following variables may be set to influence this module's behavior:
|
|||||||
* ``ACML_GPU``
|
* ``ACML_GPU``
|
||||||
* ``Apple``
|
* ``Apple``
|
||||||
* ``NAS``
|
* ``NAS``
|
||||||
|
* ``Arm``
|
||||||
|
* ``Arm_mp``
|
||||||
|
* ``Arm_ilp64``
|
||||||
|
* ``Arm_ilp64_mp``
|
||||||
* ``Generic``
|
* ``Generic``
|
||||||
|
|
||||||
``BLA_F95``
|
``BLA_F95``
|
||||||
@ -550,6 +554,36 @@ if(BLA_VENDOR STREQUAL "OpenBLAS" OR BLA_VENDOR STREQUAL "All")
|
|||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
# ArmPL blas library? (https://developer.arm.com/tools-and-software/server-and-hpc/compile/arm-compiler-for-linux/arm-performance-libraries)
|
||||||
|
if(BLA_VENDOR MATCHES "Arm" OR BLA_VENDOR STREQUAL "All")
|
||||||
|
|
||||||
|
# Check for 64bit Integer support
|
||||||
|
if(BLA_VENDOR MATCHES "_ilp64")
|
||||||
|
set(BLAS_armpl_LIB "armpl_ilp64")
|
||||||
|
else()
|
||||||
|
set(BLAS_armpl_LIB "armpl_lp64")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
# Check for OpenMP support, VIA BLA_VENDOR of Arm_mp or Arm_ipl64_mp
|
||||||
|
if(BLA_VENDOR MATCHES "_mp")
|
||||||
|
set(BLAS_armpl_LIB "${BLAS_armpl_LIB}_mp")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(NOT BLAS_LIBRARIES)
|
||||||
|
check_blas_libraries(
|
||||||
|
BLAS_LIBRARIES
|
||||||
|
BLAS
|
||||||
|
sgemm
|
||||||
|
""
|
||||||
|
"${BLAS_armpl_LIB}"
|
||||||
|
""
|
||||||
|
""
|
||||||
|
""
|
||||||
|
)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
endif()
|
||||||
|
|
||||||
# FLAME's blis library? (https://github.com/flame/blis)
|
# FLAME's blis library? (https://github.com/flame/blis)
|
||||||
if(BLA_VENDOR STREQUAL "FLAME" OR BLA_VENDOR STREQUAL "All")
|
if(BLA_VENDOR STREQUAL "FLAME" OR BLA_VENDOR STREQUAL "All")
|
||||||
if(NOT BLAS_LIBRARIES)
|
if(NOT BLAS_LIBRARIES)
|
||||||
|
@ -38,6 +38,10 @@ The following variables may be set to influence this module's behavior:
|
|||||||
* ``ACML``
|
* ``ACML``
|
||||||
* ``Apple``
|
* ``Apple``
|
||||||
* ``NAS``
|
* ``NAS``
|
||||||
|
* ``Arm``
|
||||||
|
* ``Arm_mp``
|
||||||
|
* ``Arm_ilp64``
|
||||||
|
* ``Arm_ilp64_mp``
|
||||||
* ``Generic``
|
* ``Generic``
|
||||||
|
|
||||||
``BLA_F95``
|
``BLA_F95``
|
||||||
@ -359,6 +363,36 @@ if(BLAS_FOUND)
|
|||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
# ArmPL? (https://developer.arm.com/tools-and-software/server-and-hpc/compile/arm-compiler-for-linux/arm-performance-libraries)
|
||||||
|
if(BLA_VENDOR MATCHES "Arm" OR BLA_VENDOR STREQUAL "All")
|
||||||
|
|
||||||
|
# Check for 64bit Integer support
|
||||||
|
if(BLA_VENDOR MATCHES "_ilp64")
|
||||||
|
set(LAPACK_armpl_LIB "armpl_ilp64")
|
||||||
|
else()
|
||||||
|
set(LAPACK_armpl_LIB "armpl_lp64")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
# Check for OpenMP support, VIA BLA_VENDOR of Arm_mp or Arm_ipl64_mp
|
||||||
|
if(BLA_VENDOR MATCHES "_mp")
|
||||||
|
set(LAPACK_armpl_LIB "${LAPACK_armpl_LIB}_mp")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(NOT LAPACK_LIBRARIES)
|
||||||
|
check_lapack_libraries(
|
||||||
|
LAPACK_LIBRARIES
|
||||||
|
LAPACK
|
||||||
|
cheev
|
||||||
|
""
|
||||||
|
"${LAPACK_armpl_LIB}"
|
||||||
|
""
|
||||||
|
""
|
||||||
|
""
|
||||||
|
"${BLAS_LIBRARIES}"
|
||||||
|
)
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
|
||||||
# FLAME's blis library? (https://github.com/flame/blis)
|
# FLAME's blis library? (https://github.com/flame/blis)
|
||||||
if(BLA_VENDOR STREQUAL "FLAME" OR BLA_VENDOR STREQUAL "All")
|
if(BLA_VENDOR STREQUAL "FLAME" OR BLA_VENDOR STREQUAL "All")
|
||||||
if(NOT LAPACK_LIBRARIES)
|
if(NOT LAPACK_LIBRARIES)
|
||||||
|
Loading…
Reference in New Issue
Block a user