summaryrefslogtreecommitdiff
path: root/Modules/FindBLAS.cmake
Commit message (Collapse)AuthorAgeFilesLines
* Modules/Find{BLAS,LAPACK}: allow choice of pkg-config packageDr. Thomas Orgis2022-06-171-1/+10
| | | | | | | | | | | | | The BLA_PREFER_PKGCONFIG switch is not that useful if you are not able to specify the pkg-config package to use. This adds BLA_PKGCONFIG_BLAS and BLA_PKGCONFIG_LAPACK to that effect, allowing user choice in environments that install differing variants of the BLAS libraries with distinct .pc file names. This is part of work to get more standardized installations of the BLAS libs with specific names, likely blas.pc and lapack.pc only for Netlib reference code, or maybe blas-netlib.pc and lapack-netlib.pc, in any case distinct from choices like openblas-openmp.pc.
* FindBLAS: Quiet pkg-config errorsnega2022-03-301-2/+2
| | | | Issue: #23314
* FindBLAS: Find OpenMP dependency quietlyBrad King2021-12-101-2/+2
| | | | | | | | | | | | | The `find_package(OpenMP)` calls added/updated by: * commit f7f3d8987a (FindBLAS: Add dependency of OpenBLAS on OpenMP for BLA_STATIC, 2020-11-10, v3.20.0-rc1~492^2) * commit 9ef82d95d8 (FindBLAS: Fix detection of OpenMP as dependency of BLA_STATIC, 2021-04-07, v3.20.1~3^2) were missing the `QUIET` option. Fixes: #23000
* LCC: Add dedicated support for MCST LCC compilermakise-homura2021-10-151-1/+1
| | | | | | | | | | | | | | | | | | | | | Divert LCC compiler as a new one, instead of treating it as GNU. Since old times, Elbrus C/C++/Fortran Compiler (LCC) by MCST has been passing checks for GNU compilers, so it has been identified as GNU. Now, with intent of seriously upstreaming its support, it has been added as a separate LCC compiler, and its version displays not a supported GCC version, but LCC version itself (e.g. LCC 1.25.19 instead of GNU 7.3.0). This commit adds its support for detection, and also converts basically every check like 'is this compiler GNU?' to 'is this compiler GNU or LCC?'. The only places where this check is untouched, is where it regards other platforms where LCC is unavailable (primarily non-Linux), and where it REALLY differs from GNU compiler. Note: this transition may break software that are already ported to Elbrus, but hardly relies that LCC will be detected as GNU; still such software is not known.
* FindBLAS: Fix EML and ArmPL indentationsIgor S. Gerasimov2021-10-071-19/+19
|
* FindBLAS: Replace set(A val) with string(APPEND)Igor S. Gerasimov2021-10-071-7/+7
|
* FindBLAS: Stop processing if BLAS library does not have 64-bit integer APIIgor S. Gerasimov2021-10-051-44/+68
|
* FindBLAS: Search 32/64-bit integer API via BLA_SIZEOF_INTEGER if possibleIgor S. Gerasimov2021-10-051-8/+98
|
* FindBLAS: Update Fujitsu_SSL2Igor S. Gerasimov2021-10-051-21/+29
|
* FindBLAS: Update FlexiBLASIgor S. Gerasimov2021-09-221-1/+5
|
* FindBLAS: Update OpenBLASIgor S. Gerasimov2021-09-221-2/+6
|
* FindBLAS: Update FLAMEIgor S. Gerasimov2021-09-221-1/+5
|
* FindBLAS: Update Generic BLASIgor S. Gerasimov2021-09-221-1/+5
|
* FindBLAS: Move NVHPC from Generic BLASIgor S. Gerasimov2021-09-221-1/+20
|
* Merge topic 'SCS_mp'Brad King2021-07-291-3/+11
|\ | | | | | | | | | | | | | | 069a5c3188 FindLAPACK: SCSL also has LAPACK routines dbcc5eaa05 FindBLAS: Update SCSL library Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6402
| * FindBLAS: Update SCSL libraryIgor S. Gerasimov2021-07-281-3/+11
| |
* | FindBLAS: Add possibility to find OMP parallelized version of ESSLIgor S. Gerasimov2021-07-271-3/+11
| |
* | FindBLAS: IBM ESSL 6.1 does not required BLAS libIgor S. Gerasimov2021-07-271-2/+2
|/
* FindBLAS: use unset instead of set for empty variablesIgor S. Gerasimov2021-07-271-2/+2
|
* FindBLAS: Fix regression in finding EML_mt after recent refactoringIgor S. Gerasimov2021-07-271-1/+1
| | | | | Fix a variable referenced missed by commit 76487b04b1 (Find{BLAS,LAPACK}: clean variables, 2021-07-13).
* Find{BLAS,LAPACK}: clean variablesSeth R Johnson2021-07-141-16/+19
|
* Find{BLAS,LAPACK}: improve found message on CraySeth R Johnson2021-07-141-0/+2
| | | | | | | | | | | | | | | | | | With Cray compiler wrappers (implicitly tested on OLCF Spock) the BLAS and LAPACK libraries are automatically linked as necessary through the wrapper script and programming environment. With this change, the configure output is: ``` -- Found BLAS: implicitly linked <snip> -- Found LAPACK: implicitly linked ``` rather than ``` -- Found BLAS: 1 <snip> -- Found LAPACK: LAPACK_LIBRARIES-PLACEHOLDER-FOR-EMPTY-LIBRARIES ```
* Find{BLAS,LAPACK}: Avoid clobbering results when no vendor is requestedBrad King2021-07-121-2/+2
| | | | | | | | | | | | Logic added by commit 4c74c86f40 (FindBLAS/LAPACK: Add support for the Fujitsu SSL2 library, 2021-01-27, v3.21.0-rc1~402^2~1) accidentally expressed a boolean condition without proper grouping. The pattern was then copied by commit 2c9e623e31 (Find{BLAS,LAPACK}: Add support for the NVHPC LAPACK library, 2021-05-05, v3.21.0-rc1~192^2). The resulting logic incorrectly tries Fujitsu and NVHPC vendors even after results are found from another vendor, and then erases those. Fix the grouping. Fixes: #22403
* Merge topic 'FindBLAS-LAPACK-docs'Brad King2021-06-141-85/+161
|\ | | | | | | | | | | | | | | | | | | | | | | 5bf1651452 Find{BLAS,LAPACK}: Revise and extend Intel MKL usage documentation 8585a12bd9 Find{BLAS,LAPACK}: Move enabled language requirement to top of documentation 6a7c055f96 Find{BLAS,LAPACK}: Revise formatting of intro docs 43b581367d Find{BLAS,LAPACK}: Move implementation note from docs to comments 3beac78a13 Find{BLAS,LAPACK}: Revise imported targets documentation layout 6f305cd5fd Find{BLAS,LAPACK}: Factor out vendor documentation Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6218
| * Find{BLAS,LAPACK}: Revise and extend Intel MKL usage documentationBrad King2021-06-111-19/+58
| | | | | | | | Fixes: #22295
| * Find{BLAS,LAPACK}: Move enabled language requirement to top of documentationBrad King2021-06-111-1/+2
| |
| * Find{BLAS,LAPACK}: Revise formatting of intro docsBrad King2021-06-111-1/+3
| |
| * Find{BLAS,LAPACK}: Move implementation note from docs to commentsBrad King2021-06-111-4/+3
| |
| * Find{BLAS,LAPACK}: Revise imported targets documentation layoutBrad King2021-06-111-4/+3
| |
| * Find{BLAS,LAPACK}: Factor out vendor documentationBrad King2021-06-111-62/+98
| | | | | | | | | | Move the list of vendors to a dedicated section shared by both modules. Format it as a definition list.
* | Find{BLAS,LAPACK}: Update for Intel oneAPI structure under MKLROOTPeter Knowles2021-06-111-1/+3
|/ | | | | Add search paths for the Intel oneAPI MKL directory structure so that we do not rely on paths in `LD_LIBRARY_PATH`.
* FindBLAS: Revert "Do not statically link against iomp5 ... Intel MKL"Brad King2021-06-101-16/+7
| | | | | | | | | | Since commit 20ab504591 (FindBLAS: Do not statically link against iomp5 in the case of Intel MKL, 2021-04-11), we no longer find MKL's BLAS when using the GNU compiler because FindOpenMP chooses libgomp instead of libiomp5, and mkl_intel_thread depends on the latter. Revert the change for now. A new approach will be needed to solve the original problem. Issue: #21811
* Find{BLAS,LAPACK}: Add support for the NVHPC LAPACK libraryRobert Maynard2021-05-051-1/+7
|
* FindBLAS: Do not statically link against iomp5 in the case of Intel MKLEisuke Kawashima2021-04-301-7/+16
| | | | fix #21811
* Find{BLAS,LAPACK}: Simplify search for static librariesBrad King2021-04-211-19/+13
| | | | | | | | Now that `CHECK_{BLAS,LAPACK}_LIBRARIES` are functions, we can set `CMAKE_FIND_LIBRARY_SUFFIXES` locally without affecting the global state. This avoids the need for local state switching that was added in commit 9ef82d95d8 (FindBLAS: Fix detection of OpenMP as dependency of BLA_STATIC, 2021-04-07, v3.20.1~3^2), so remove that.
* Find{BLAS,LAPACK}: Simplify check_function_exists state maintenanceBrad King2021-04-211-4/+1
| | | | | Now that `CHECK_{BLAS,LAPACK}_LIBRARIES` are functions, we can set `CMAKE_REQUIRED_QUIET` locally without affecting the global state.
* Find{BLAS,LAPACK}: Make library variable names more robustBrad King2021-04-141-5/+6
|
* Find{BLAS,LAPACK}: Generalize recognition of dependencies as link flagsBrad King2021-04-141-2/+2
|
* Find{BLAS,LAPACK}: Convert internal CHECK_*_LIBRARIES to functionsBrad King2021-04-141-21/+16
|
* Find{BLAS,LAPACK}: Clarify name of internal argument for dependenciesBrad King2021-04-141-5/+5
|
* Find{BLAS,LAPACK}: Simplify appending to list of librariesBrad King2021-04-141-3/+3
|
* Find{BLAS,LAPACK}: Revert bad refactoring of internal CHECK_*_LIBRARIESBrad King2021-04-141-7/+9
| | | | | | | | | | | | | | | | | | | Refactoring in commit 4c74c86f40 (FindBLAS/LAPACK: Add support for the Fujitsu SSL2 library, 2021-01-27) was done in order to support calling `find_library` on the dependencies as well as the candidate libraries. However, it broke a few things: * Intel MKL's BLAS/LAPACK are no longer found. We specify their dependencies using `-l...` flags, so we should not try to use `find_library` for them. * The dependencies are repeated because we accumulate them in the `find_library` search loop and then append them at the end too. Revert the incorrect part of the refactoring. Retain the flags part needed for the Fujitsu vendor. Fixes: #22056
* Merge topic 'FindBLAS-default-OpenMP'Brad King2021-04-081-2/+11
|\ | | | | | | | | | | | | 9ef82d95d8 FindBLAS: Fix detection of OpenMP as dependency of BLA_STATIC Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5993
| * FindBLAS: Fix detection of OpenMP as dependency of BLA_STATICBrad King2021-04-071-2/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Update the change from commit f7f3d8987a (FindBLAS: Add dependency of OpenBLAS on OpenMP for BLA_STATIC, 2020-11-10, v3.20.0-rc1~492^2): * If C is not enabled, find CXX OpenMP libraries instead. * Do not use BLA_STATIC's custom CMAKE_FIND_LIBRARY_SUFFIXES for OpenMP. It can break projects that already call `find_package(OpenMP)` and expect a shared library. Whether OpenMP is static is orthogonal to whether BLAS is static. Fixes: #22039 Issue: #16221
* | FindBLAS/LAPACK: Add support for the Fujitsu SSL2 libraryChuck Atkins2021-03-311-20/+55
|/ | | | | | | | This also does some additional work to fix issues with libraries provided only via compiler options and no explicit library names. Co-Author: Yuichiro Utsumi <utsumi.yuichiro@jp.fujitsu.com>
* FindBLAS: Add support for IntelLLVMWilliam R. Dieter2021-01-281-0/+3
| | | | Signed-off-by: William R. Dieter <william.r.dieter@intel.com>
* Find{BLAS,LAPACK}: Add support for Elbrus Math LibraryIgor S. Gerasimov2020-12-091-0/+30
| | | | http://mossigplan.acm.org/EML_introduction_engl.pdf
* Help: Add `.. versionadded` directives to module docsNikita Nemkin2020-12-021-4/+30
| | | | Issue: #19715
* FindBLAS: Add dependency of OpenBLAS on OpenMP for BLA_STATICEisuke Kawashima2020-11-111-1/+7
| | | | Fixes: #16221
* Find{BLAS,LAPACK}: Add support for FlexiBLASMattias Ellert2020-09-141-0/+17
| | | | http://www.mpi-magdeburg.mpg.de/mpcsc/software/FlexiBLAS/