Commit Graph

226 Commits

Author SHA1 Message Date
Martin Kroeker 6f09e4c121
Improve FMA usage in ?LAQR5 (Reference-LAPACK PR681) 2022-11-20 19:37:28 +01:00
Martin Kroeker aaea0804bc
Fix function documentation (Reference-LAPACK PR697) 2022-11-20 16:38:57 +01:00
Martin Kroeker b946820502
Fix uninitialized variable (Reference-LAPACK PR647) 2022-11-20 16:36:19 +01:00
Martin Kroeker 9e29312c83
Fix type precision and function documentation (Reference-LAPACK PRs 647+702) 2022-11-20 16:34:45 +01:00
Martin Kroeker 3f31b69121
Add quick return if scaling with one (Reference-LAPACK PR674) 2022-11-20 13:30:25 +01:00
Martin Kroeker 60af35bfab
Fix workspace query for ?SYEVD and ?HEEVD (Reference-LAPACK PR691) 2022-11-20 13:25:21 +01:00
Martin Kroeker eea1636380
Use normwise criterion for INF eigenvalues in QZ (Reference-LAPACK PR698) 2022-11-20 13:22:55 +01:00
Martin Kroeker f157d6d671
Add C equivalents of ?GELST (for Reference-LAPACK PR739) 2022-11-19 22:50:57 +01:00
Martin Kroeker 1d32ce5135
Add ?GELST (Reference-LAPACK PR739) 2022-11-19 22:42:50 +01:00
Martin Kroeker d0afbd8d29
Add new routines for ?GELST similar to ?GELS (Reference-LAPACK PR739) 2022-11-19 22:34:42 +01:00
Martin Kroeker 63014e99ae
Cast work array sizes to integer (Reference-LAPACK PR 684) 2022-11-19 22:31:33 +01:00
Martin Kroeker 15967809ad
Define type conversions explicitly (Reference-LAPACK PR703) 2022-11-19 19:15:09 +01:00
Martin Kroeker 4e60737c2d
Define type conversions explicitly (Reference-LAPACK PR 703) 2022-11-19 15:22:46 +01:00
Martin Kroeker e9b0f5a364
Define type conversions explicitly (Reference-LAPACK PR 703) 2022-11-19 15:11:05 +01:00
Martin Kroeker 08bc43c73d
Define type conversions explicitly (Reference-LAPACK PR 703) 2022-11-19 15:04:30 +01:00
Martin Kroeker 35295912a3
Define type conversions explicitly (Reference-LAPACK PR 703) 2022-11-19 14:57:54 +01:00
Martin Kroeker 2a97ca615f
MSVC compatibility fixes 2022-11-16 07:36:40 +01:00
Martin Kroeker 5dec93e93b
Complete the C conversion of the xTRSYL3 files 2022-11-15 20:36:58 +01:00
Martin Kroeker b2cc310470
Add f2c-converted versions of the new BLAS3-based Sylvester solver 2022-11-15 14:23:46 +01:00
Martin Kroeker 379efbe5af
Fix typos 2022-11-15 11:03:12 +01:00
Martin Kroeker 95da5141f0
Add a BLAS3-based triangular Sylvester equation solver (Reference-LAPACK PR 651) 2022-11-14 22:21:29 +01:00
Martin Kroeker 6eb707d941
Add a BLAS3-based triangular Sylvester equation solver (Reference-LAPACK PR 651) 2022-11-13 23:10:13 +01:00
Martin Kroeker 35dac5677a
Merge pull request #3816 from martin-frbg/lapack638
Fix workspace calculation in GEQRF/GERQF (Reference-LAPACK PR 638)
2022-11-13 20:38:42 +01:00
Martin Kroeker 3e2d52c502
Fix workspace calculation in GEQRF/GERQF (Reference-LAPACK PR 638) 2022-11-13 13:00:52 +01:00
Martin Kroeker cb48c29b6f
Fix workspace calculation (Reference-LAPACK PR690) 2022-11-13 12:49:59 +01:00
Martin Kroeker 515cf26929
Fix pointer/integer argument mismatch in calls to pow() 2022-09-14 11:48:36 +02:00
Martin Kroeker 704a024df4
Fix C99-style declaration of loop variable 2022-08-11 16:37:23 +02:00
Martin Kroeker 75cdc8cba5
Merge branch 'develop' into lapack3101 2022-04-30 21:43:45 +02:00
Martin Kroeker b4b9ccdbfa
Remove leftover debug output 2022-04-27 21:59:45 +02:00
martin-frbg 510c7222ef Add dummy C files for 3.10.1 modules 2022-04-22 13:09:12 +02:00
martin-frbg aea3d366f5 Add dummy C versions of the 3.10.1 ?laqz codes for C_LAPACK 2022-04-22 09:27:37 +02:00
martin-frbg 920199c577 fix module build and d/sroundup_lwork 2022-04-21 23:31:02 +02:00
martin-frbg 7c84a9f7be update suffix rules 2022-04-21 22:43:29 +02:00
martin-frbg 329cdc31b3 Update LAPACK/LAPACKE to Reference-LAPACK 3.10.1 2022-04-21 20:39:29 +02:00
Martin Kroeker 18b19d135b
C_LAPACK: Fixes to make it compile with MSVC (#3605)
* Fix f2c-like support functions to compile with MSVC, and
re-enable C_LAPACK for MSVC in CMAKE

* Add MSVC&flang build to Azure CI in order to check C_LAPACK correctness
2022-04-17 17:49:38 +02:00
Martin Kroeker b7873605d4
Use f2c translations of LAPACK when no Fortran compiler is available (#3539)
* Add C equivalents of the Fortran routines from Reference-LAPACK as fallbacks, and C_LAPACK variable to trigger their use
2022-04-09 22:38:58 +02:00
Aisha Tammy 3efbf968f1 create INDEX64 target 2022-03-24 19:09:23 +01:00
Martin Kroeker a3eea3e127
Fix input argument check (LAPACK PR 646) 2022-02-03 11:43:17 +01:00
Martin Kroeker 337b65133d
Fix out of bounds read in ?llarv (Reference-LAPACK PR 625) 2021-10-01 11:19:53 +02:00
Martin Kroeker ddb0ff5353
Fix out of bounds read in ?llarv (Reference-LAPACK PR 625) 2021-10-01 11:19:07 +02:00
Martin Kroeker fe497efa05
Fix out of bounds read in ?llarv (Reference-LAPACK PR 625) 2021-10-01 11:18:20 +02:00
Martin Kroeker 2be5ee3cca
Fix out of bounds read in ?llarv (Reference-LAPACK PR 625) 2021-10-01 11:17:21 +02:00
Martin Kroeker 5c729c6dce
Correct function name in error message from SLASQ2 (Reference-LAPACK PR 555) 2021-05-17 14:47:14 +02:00
Martin Kroeker d00709e016
Add files via upload 2021-05-02 20:47:58 +02:00
Martin Kroeker 4c1d47098b
Add new files for Householder reconstruction functions from 3.9.1 2021-05-02 19:25:43 +02:00
Martin Kroeker 114bbbc6d7
Merge pull request #3212 from martin-frbg/lapack463
Initialize X and Y to zero for N=0 in xGGGLM (Reference-LAPACK PR463)
2021-05-02 18:44:59 +02:00
Martin Kroeker b67a92c19f
Merge pull request #3211 from martin-frbg/lapack471
Handle norm NaN value in xGESDD (Reference LAPACK PR471)
2021-05-02 18:44:29 +02:00
Martin Kroeker c26780d451
Initialize X and Y to zero for N=0 (Reference-LAPACK PR463) 2021-05-02 11:40:56 +02:00
Martin Kroeker d77d9bc920
Handle norm NaN value (Reference LAPACK PR471) 2021-05-02 11:24:50 +02:00
Martin Kroeker 37d3e2bd94
Merge pull request #3210 from martin-frbg/lapack502
Fix possible division by zero in LAPACK xTGSJA (Reference-LAPACK PR502)
2021-05-02 09:02:11 +02:00
Martin Kroeker de8656769c
Fix possible division by zero in xTGSJA (Reference-LAPACK PR502) 2021-05-01 21:31:13 +02:00
Martin Kroeker 87d2e314db
Import packing improvements in LAPACK xLAQR from Reference-LAPACK PR 480+535 2021-04-30 13:50:55 +02:00
Martin Kroeker c9a82f54d1
Merge pull request #3204 from martin-frbg/lapack506
Correct INFO value returned by SLASQ2/DLASQ2 (Reference-LAPACK 506)
2021-04-30 13:25:48 +02:00
Martin Kroeker 444cb78be5
correct INFO value (Reference-LAPACK 506) 2021-04-30 09:26:54 +02:00
Martin Kroeker 2b01132515
Clean up misdeclaration of the dummy stand-in for A in ?ORGBR/?UNGBR workspace queries (Reference-LAPACK PR 468 and 530) 2021-04-28 19:20:08 +02:00
Martin Kroeker 0dba04bb58
Merge pull request #3178 from martin-frbg/fix2864
Fix unwanted fallback to implicit typing in slanv2/dlanv2
2021-04-09 13:38:05 +02:00
Martin Kroeker e96f5e3c65
Fix implicit typing of new variable TWO 2021-04-09 10:04:15 +02:00
Martin Kroeker 558724e99f
Fix implicit typing of new variable TWO 2021-04-09 10:03:31 +02:00
Martin Kroeker 081d5ae971
Fix typo and potentially undefined variables
(copies fixes made in Reference-LAPACK PR 477 after the initial cherrypick)
2021-04-03 22:11:14 +02:00
Martin Kroeker c4b5abbe43
fix data type 2021-01-29 10:45:36 +01:00
Martin Kroeker f87842483e
fix calculation of non-exceptional shift (from Reference-LAPACK PR 477) 2021-01-29 09:56:12 +01:00
Martin Kroeker 856bc36533
Add exceptional shift to fix rare convergence problems 2021-01-27 13:41:45 +01:00
Martin Kroeker ef552bc578
Add Makefile support for enabling only some variable types 2020-10-11 14:49:06 +02:00
Martin Kroeker 7ed25e9e10
FIx underflow/rounding errors in LAPACK (S,D)LANV2
Reference-LAPACK PR 445, fixing their issue 263
2020-09-27 22:59:20 +02:00
Martin Kroeker 7e4d5c237c
Fix workspace query in xGELQ (Reference-LAPACK PR443) 2020-09-18 09:19:46 +02:00
Martin Kroeker 522aaf53bf
Break out of potentially infinite rescaling loop in LAPACK xLARGV/xLARTG/xLARTGP
Reference-LAPACK issue 411
2020-06-07 14:30:20 +02:00
Ilhan Polat 76d2612e0c
BUG: Fix the loop range in ZHEEQUB.f 2020-05-30 14:11:11 +02:00
Martin Kroeker b25ae1fc60
Apply fix for Reference-LAPACK issue 394
reference to XERBLA extending beyond column 72, breaking builds with compilers that default to traditional punch card format
2020-03-10 13:37:41 +01:00
Martin Kroeker 87ac1ceb0b
Apply fix from Reference-LAPACK PR390, NaN not propagating 2020-02-23 22:40:40 +01:00
Martin Kroeker 9e40c080f2
Apply fix from Reference-LAPACK PR390, NaN not propagating 2020-02-23 22:39:01 +01:00
Martin Kroeker 375b1875c8
[WIP] Update LAPACK to 3.9.0 (#2353)
* Update make.inc entries for LAPACK 3.9.0

Reference-LAPACK PR 347 changed some variable names and relative paths

* Update LAPACK to 3.9.0

* Add new functions from LAPACK 3.9.0

* Add new functions from LAPACK 3.9.0

* Restore LOADER command 

as it makes it easier to specify pthread as needed

* Restore LOADER

* Restore EIG/LIN prefixes in cmdbase

* add binary path to lapack_testing.py call

* Restore OpenMP version check

* Restore OpenMP version check

* Restore fix for out-of-bounds array accesses

from #2096
2020-01-01 13:18:53 +01:00
Guillaume Horel 4b21b646ea turn on optimized code 2019-09-08 11:14:49 -04:00
Martin Kroeker a6a52a73f7
Fix argument in SLASET call to zero S
fixes #1859 in accordance with https://github.com/LAPACK-Reference/issue/296
2018-11-10 17:16:53 +01:00
Tiziano Müller 79ea839b63 fix parallel build issues with APFS/HFS+/ext2/3 in netlib-lapack
The problem is that OpenBLAS sets the LAPACKE_LIB and the TMGLIB to the
same object and uses the `ar` feature to update the archive file. If the
underlying filesystem does not have sub-second timestamp resolution and
the system is fast enough (or `ccache` is used), the timestamp of the
builds which should be added to the previously generated archive is the
same as the archive file itself and therefore `make` does not update the
archive.

Since OpenBLAS takes care to not run the different targets updating the
archive in parallel, the easiest solution is to declare the respective
targets `.PHONY`, forcing `make` to always update them.

fixes #1682
2018-10-06 14:10:05 +02:00
Martin Kroeker 9e917b16db
Fix missing replacements of ILAENV by ILAENV_2STAGE (lapack PR 272)
This could cause spurious "parameter has an illegal value" errors in DSYEVR and related routines, see https://github.com/Reference-LAPACK/lapack/issues/262
2018-08-28 21:11:54 +02:00
Martin Kroeker 677e42d7b0
Fixes from netlib PR 253
When minimal workspace is given in ?hesv_aa, ?sysv_aa, ?hesv_aa_2stage, ?sysv_aa_2stage, now no error is given
Quick return for ?laqr1
2018-06-01 15:12:59 +02:00
Martin Kroeker 9795adc7ef
Drop C-style "L" suffix from OPENMP version number in check 2018-05-08 21:39:42 +02:00
Martin Kroeker 1a8e487c4a
Drop C-style "L" suffix from OPENMP version number in check 2018-05-08 21:38:25 +02:00
Martin Kroeker 5966fd52a2
Drop C-style "L" suffix from OPENMP version number in check 2018-05-08 21:36:56 +02:00
Martin Kroeker eaab622f03
Make "OMP task depend" sections conditional on OpenMP4, not just OpenMP
To allow compiling with gcc versions older than 4.9
2018-02-14 22:58:14 +01:00
Martin Kroeker 3cda1ce50a
Revert insiduous suppression of the -fopenmp flag in the LAPACK subtree
This was added in #1046 citing a problem with mingw, but in effect it quietly reduces thread safety on all non-Windows platforms (while -fopenmp is already disabled for Windows builds through the toplevel Makefile.system). Removing the filter fixes #1425
2018-02-13 22:44:45 +01:00
Martin Kroeker 150c7294a6
Remove spurious EXTERNAL reference
From Reference-LAPACK issue 228, remove spurious EXTERNAL reference to unused and nonexistent function xLACGV that could cause linking problems.
2018-02-08 14:57:13 +01:00
martin 3be5c3d343 Update LAPACK to 3.8.0 2017-11-23 18:13:35 +01:00
Martin Kroeker 2df1e3372d
Break out of potentially infinite rescaling loop after 1000 iterations
Inf values in the input vector will survive rescaling, causing an infinite loop. The value of 1000 is arbitrarily chosen as a large but finite value with the intention to never interfere with regular calculations.
2017-11-10 20:02:21 +01:00
Martin Kroeker 7908efafc8 Fix integer overflow in LAPACK DBDSQR, SBDSQR (#1135)
* Fix integer overflow in DBDSQR

As noted in lapack issue 135, an integer overflow in the calculation of the iteration limit could lead to an immediate return without any iterations having been performed if the input matrix is sufficiently big.

* Fix integer overflow in SBDSQR

As noted in lapack issue 135, an integer overflow in the calculation of the iteration limit could lead to an immediate return without any iterations having been performed if the input matrix is sufficiently big.

* Fix integer overflow in threshold calculation

Related to lapack issue 135, the threshold calculation can overflow as well as the multiplication is evaluated from left to right.
Without explicit parentheses, the calculation would overflow for N >= 18919

* Fix integer overflow in threshold calculation

Related to lapack issue 135, the threshold calculation can overflow as well as the multiplication is evaluated from left to right.
Without explicit parentheses, the calculation would overflow for N >= 18919
2017-03-24 22:05:22 +01:00
Martin Kroeker 0958b49811 Fix missing comma on continued line
EXTERNAL declaration of subroutines missed a comma before the continuation line,
causing a strange run-together name to appear in the object when compiled with ifort.
2017-02-22 08:40:39 +01:00
Martin Kroeker 09b240f1ef Fix missing comma on continued line
EXTERNAL declaration of subroutines missed a comma before the continuation line,
causing a strange run-together name to appear in the object when compiled with ifort.
2017-02-22 08:39:06 +01:00
Martin Kroeker 69f4e8b86c Fix missing comma on continued line
EXTERNAL declaration of subroutines missed a comma before the continuation line,
causing a strange run-together name to appear in the object when compiled with ifort.
2017-02-22 08:34:20 +01:00
Martin Kroeker e072e68aa0 Fix missing comma in continued line
EXTERNAL declaration of subroutines missed a comma before the continuation line,
causing a strange run-together name to appear in the object when compiled with ifort.
2017-02-22 08:32:20 +01:00
Werner Saar 1153e3ac39 filtered out -fopenmp and fix for mingw 2017-01-07 08:41:42 +01:00
Werner Saar 7c2c488c23 removed xerbla and lsame for Makefile 2017-01-06 16:35:20 +01:00
Werner Saar 4494d03a21 filtered out optimized functions 2017-01-06 13:42:31 +01:00
Werner Saar d35baf30cf added lapack 3.7.0 with latest patches from git 2017-01-06 11:48:40 +01:00
Werner Saar 8cd46acebb removed lapack 3.6.0 2017-01-06 11:44:57 +01:00
Martin Köhler 92a858e69e Import LAPACK: SRC directory 2016-10-26 15:12:09 +02:00
Martin Kroeker 9b69d8a8e5 Update zgetrf2.f
Trivial typo correction (ZERBLA => XERBLA) to fix #910
2016-07-14 11:41:57 +02:00
Werner Saar 10c2ebdfc5 BUGFIX: removed fixes for bugs #148 and #149, because info for xerbla is wrong 2016-03-07 10:34:04 +01:00
Werner Saar 26b3b3a3e6 bugfixes form lapack svn for bugs #142 - #155 2016-03-07 10:10:00 +01:00
Werner Saar 299cdcdc29 lapack fixes for Windos 2015-11-21 14:33:27 +01:00
Werner Saar 33e37d01b3 added lapack-3.6.0 2015-11-20 09:45:46 +01:00
Werner Saar 64db4576e6 removed lapack-3.5.0 2015-11-20 09:41:59 +01:00
wernsaar cedc1f4b14 Ref #410: disabled optimized potri functions ( single threading bug) 2014-07-10 13:42:32 +02:00
wernsaar 2081f6e8ff Lapack bug114: replaced cgesvd.f and zgesvd.f 2014-07-08 10:21:10 +02:00
wernsaar dc6b809f15 Lapack bug117: replaced zstemr.f 2014-07-08 10:08:34 +02:00
wernsaar 0f08684649 Lapack bug118: replaced clanhf.f and zlanhf.f 2014-07-08 09:57:40 +02:00
Zhang Xianyi a40116de25 Fixed generating DLL bug. 2014-06-06 16:13:08 +08:00
wernsaar 89da450800 enabled and tested optimized potri lapack functions 2014-05-23 12:14:30 +02:00
wernsaar c26bbee489 enabled abd tested optimized trtri lapack functions 2014-05-23 10:55:39 +02:00
wernsaar a748d3a75d enabled optimized trti2 lapack functions again 2014-05-21 11:02:07 +02:00
wernsaar a5ab231ad4 enabled optimized complex lauum lapack functions again 2014-05-21 10:35:28 +02:00
wernsaar dbaeea7b59 enabled lauu2 and lauum lapack functions again 2014-05-21 09:49:18 +02:00
wernsaar 0d75f3b6a2 enabled and tested optimized gesv lapack functions 2014-05-19 14:44:53 +02:00
wernsaar 2ff66e661d enabled and tested optimized laswp lapack function 2014-05-19 13:35:32 +02:00
wernsaar ebc95e6f11 enabled and tested optimized potf2 lapack functions 2014-05-18 22:41:43 +02:00
wernsaar 61a2c50e8e enabled and tested optimized getf2 lapack functions 2014-05-18 22:21:16 +02:00
wernsaar 4f98f8c9b3 enabled and tested optimized potrf lapack functions 2014-05-18 21:42:37 +02:00
wernsaar 536875d463 enabled and tested optimized getrs lapack functions 2014-05-18 21:13:56 +02:00
wernsaar 65f2fba4c3 enabled and tested optimized cgetrf lapack function 2014-05-18 20:32:27 +02:00
wernsaar eea6f51df9 enabled and tested optimized sgetrf lapack function 2014-05-18 20:01:23 +02:00
wernsaar 6fc4646709 enabled and tested optimized zgetrf lapack function 2014-05-18 19:36:32 +02:00
wernsaar ac029f81b3 enabled and tested optimized dgetrf function 2014-05-18 19:07:51 +02:00
wernsaar a35a1a9ae7 changed makefiles for lapack development 2014-05-07 11:33:02 +02:00
Zhang Xianyi 0f6e79f918 Refs #324. Upgrade LAPACK to 3.5.0 version. 2013-12-09 16:50:02 +08:00
Viral B. Shah eae6920f2d Patch LAPACK XLASD4.f as discussed in JuliaLang/julia#2340 2013-08-21 19:14:07 +05:30
Zhang Xianyi 61a9582987 Changed makefile for lapack. 2013-07-14 10:41:54 +08:00
Zhang Xianyi 3eb5af1955 Refs #247. Included lapack source codes. Avoid downloading tar.gz from netlib.org
Based on 3.4.2 version, apply patch.for_lapack-3.4.2.
2013-07-09 18:13:48 +08:00