summary |
shortlog | log |
commit |
commitdiff |
tree
first ⋅ prev ⋅ next
julie [Wed, 12 Aug 2009 19:47:39 +0000 (19:47 +0000)]
Fix ifort flags just for Unix
julie [Wed, 12 Aug 2009 19:42:14 +0000 (19:42 +0000)]
Fix variables used
julie [Wed, 12 Aug 2009 19:36:19 +0000 (19:36 +0000)]
Use try_compile to look for the timing routine
julie [Wed, 12 Aug 2009 17:26:34 +0000 (17:26 +0000)]
Add conf file for submitting machine to LAPACK Dashboard
julie [Tue, 11 Aug 2009 23:06:34 +0000 (23:06 +0000)]
Better solution as we set NONE as default...WINDOWS build run great...
julie [Tue, 11 Aug 2009 22:31:48 +0000 (22:31 +0000)]
Need the NONE for Windows...
julie [Tue, 11 Aug 2009 21:58:21 +0000 (21:58 +0000)]
Add CMAKE support to LAPACK
deaglanhalligan [Fri, 17 Jul 2009 09:01:45 +0000 (09:01 +0000)]
Fixed comments on factorization in refinement routines. Found when coding in C++
deaglanhalligan [Fri, 17 Jul 2009 08:27:04 +0000 (08:27 +0000)]
In refinement routines, err_bnds initialization if-else statements should be if statements, found when coding in C++
langou [Wed, 15 Jul 2009 13:36:27 +0000 (13:36 +0000)]
thru -> through
du [Thu, 4 Jun 2009 20:24:24 +0000 (20:24 +0000)]
fixed the variants_testing Makefile problem
langou [Sun, 10 May 2009 21:01:41 +0000 (21:01 +0000)]
Bug report sent by Alexander V. Kobotov (from Intel) on Mon, 6 Apr 2009 to "lapack@cs.utk.edu".
"c(he/sy)equb: no slamch in external lists and lsame, intrinsics not described"
langou [Sun, 10 May 2009 20:59:05 +0000 (20:59 +0000)]
[[ I did not really want to commit the previous commit, this is the follow-up commit ... ]]
Bug report sent by Alexander V. Kobotov (from Intel) on Mon, 6 Apr 2009 to "lapack@cs.utk.edu".
"(d/s)tgsen.f: iwork(1) always referenced: line 455: iwork( 1 ) = LIWMIN,
documentation says that if IJOB=0 it shouldn't, so NULL pointer causes a
sigfault."
(There is indeed the same problem for the WORK array and the IWORK array in the
complex routines.)
I have changed the header of the routines ctgsen.f, dtgsen.f, stgsen.f, and
ztgsen.f. A Fortran array needs to be of size at least 1. So IWORK is of size
at least 1. It was indeed written in the header of the routine:
"IWORK (workspace/output) INTEGER array, dimension (MAX(1,LIWORK))"
So since IWORK is of size at least 1, there is no reason not to reference it.
When there is a workspace query with IJOB.EQ.0, WORK(1) and IWORK(1) are both
set to 1.
langou [Sun, 10 May 2009 20:51:42 +0000 (20:51 +0000)]
Bug report sent by Alexander V. Kobotov (from Intel) on Mon, 6 Apr 2009 to "lapack@cs.utk.edu".
"(d/s)tgsen.f: iwork(1) always referenced: line 455: iwork( 1 ) = LIWMIN,
documentation says that if IJOB=0 it shouldn't, so NULL pointer causes a
sigfault."
There is indeed the same problem for array work.
I have changed the header of the routines ctgsen.f, dtgsen.f, stgsen.f, and
ztgsen.f. No matter what an array needs to be of size at least 1. So
IWORK is of size at least 1. It was written in the header of the routine:
"IWORK (workspace/output) INTEGER array, dimension (MAX(1,LIWORK))"
So since IWORK is of size at least 1, there is no reason not to reference it.
When there is a workspace query with IJOB.EQ.0, IWORK(1) is set to 1.
langou [Sun, 10 May 2009 20:45:07 +0000 (20:45 +0000)]
Bug report sent by Alexander V. Kobotov (from Intel) on Mon, 6 Apr 2009 to "lapack@cs.utk.edu".
"(c/z)geesx: no lwork=-1 branch at all, info = -15 is returned while doing lquery."
I noticed that the S and D version where not exiting after WORKSPACE query as well.
Thanks Alexander. Bug corrected.
langou [Sun, 10 May 2009 18:10:23 +0000 (18:10 +0000)]
Patch from Lawrence Mulholland (NAG) on Wednesday May 6th 2009.
See forum: http://icl.cs.utk.edu/lapack-forum/viewtopic.php?f=2&t=1408.
Thanks Lawrence.
langou [Mon, 4 May 2009 03:08:48 +0000 (03:08 +0000)]
Bug reported by Julie Langou on Th. 04/30/09 thanks to the Intel Fortran
compiler on Windows. I messed up the workspace types needed by CPOT01 and
ZPOT01, they need to be REAL (or DOUBLE PRECISION) and not COMPLEX (or DOUBLE
COMPLEX). Everything works fine on my machine with these changes. Julien.
julie [Thu, 16 Apr 2009 18:10:16 +0000 (18:10 +0000)]
Big commit before 3.2.1 release.
Those are just cosmetic changes to update version number and various other minor change.
langou [Wed, 8 Apr 2009 21:16:17 +0000 (21:16 +0000)]
Some debug write statements were present in slafts.f and dlafts.f => removed.
deaglanhalligan [Wed, 8 Apr 2009 00:05:18 +0000 (00:05 +0000)]
Updated documentation for EPIR routines. Changed ERRS_{N,C} variable names. Other cosmetic changes.
julie [Tue, 17 Mar 2009 19:12:22 +0000 (19:12 +0000)]
fix bug :: in DGESDD, workspace query gives a value smaller than the minimal value given in the header to run the routine
o reported by Guy Bencteux on Sat Dec 06 2008
o see forum topic 846 : https://icl.cs.utk.edu/lapack-forum/viewtopic.php?f=2&t=846
remove a min(M,N) in the minimal workspace formula when JOBZ='O' and JOBZ = 'S' or 'A'.
Note Julie on minimal value:
Case: M > N
IF( M > N*5.0D0 ) THEN
PATH 1 -> FOR JOBZ=N : MINWORK = 7*N + N
PATH 2 -> FOR JOBZ=O: MINWORK = 5*N*N + 7*N
PATH 3 -> FOR JOBZ=S: MINWORK = 4*N*N + 7*N
PATH 4 -> FOR JOBZ=A: MINWORK = 4*N*N + 7*N
IF M>N (but not too large)
PATH 5 -> FOR JOBZ=N : MINWORK = MAX(7*N,M) + 3*N
PATH 6 -> FOR JOBZ=O: MINWORK = 3*N + MAX (M,4*N*N + 4*N)
PATH 7 -> FOR JOBZ=S : MINWORK = 3*N + MAX (M,3*N*N + 4*N)
PATH 8 -> FOR JOBZ=A : MINWORK = 3*N + MAX (M,3*N*N + 4*N)
GENERAL FORMULA FROM THE TWO CASES WHEN M>N
FOR N LWORK >= 3*N + max (M,7*N)
FOR O LWORK >= 3*N + max (M,5*N*N + 4*N) [instead of 3*N*N + max (M,5*N*N + 4*N) ]
FOR S ET A LWORK >= 3*N + max(M,4*N*N + 4*N) [instead of 3*N*N + max(M,4*N*N + 4*N) ]
jason [Sat, 14 Mar 2009 20:17:33 +0000 (20:17 +0000)]
Add xSYEQUB bibliographic reference citing Livne & Golub.
Reference: Livne, O.E. and Golub, G.H., "Scaling by Binormalization",
Numerical Algorithms, vol. 35, no. 1, pp. 97-120, January 2004.
DOI 10.1023/B:NUMA.
0000016606.32820.69
Tech report version: http://ruready.utah.edu/archive/papers/bin.pdf
Signed-off-by: Jason Riedy <ejr@cs.berkeley.edu>
jason [Sat, 14 Mar 2009 20:06:19 +0000 (20:06 +0000)]
Fix ZLARFP and CLARFP optimizations when the vector is zero.
The x == zero branch ignored complex alphas. The code still
functioned, but it scaled the entire zero vector. Now that I think of
it, I should scan upwards for the scaling, too. That will be a
separate enhancement patch; this is just the bug fix.
This patch also fixes an accidental precision shortening in ZLARFP,
which used CMPLX in the dead branch.
Reported by Igor Zhuravlov on the LAPACK web goo thingy, currently at
http://icl.cs.utk.edu/lapack-forum/viewtopic.php?t=924
Also lead to finding a related (but different) error in the LAWN and
(accepted, still in editing) SISC paper.
Signed-off-by: Jason Riedy <ejr@cs.berkeley.edu>
langou [Wed, 11 Mar 2009 01:54:40 +0000 (01:54 +0000)]
The description of LDA in the header was number 8 in the header, while
LDA is the 4th argument in the interface.
=>
Rearrange the header accordingly.
jason [Fri, 6 Mar 2009 18:22:09 +0000 (18:22 +0000)]
Change routines to xLARFP that were missed in the first round.
Thanks to Michael Chuvelev <michael.chuvelev@intel.com> for noting
that the following routines still called xLARFG rather than xLARFP:
cgeqpf.f slaqp2.f claqp2.f claqps.f clatrz.f ctzrqf.f
Bug reported in message
<
A43BE3D8E247E440AF3477B3CDCB0A694A132639@irsmsx504.ger.corp.intel.com> .
Signed-off-by: Jason Riedy <ejr@cs.berkeley.edu>
jason [Tue, 3 Mar 2009 17:16:37 +0000 (17:16 +0000)]
Return SCALE = ONE in xTRSYL for zero-dimension matrices.
I doubt if LAPACK is consistent about zero-dim matrices, but it's
worth a shot. Plenty of discussion about their semantics on the
GNU Octave development lists.
Reported by Vasile Sima <vsima@ici.ro> in message
<1575.193.230.3.167.
1235984292.squirrel@webmail.ici.ro>.
Signed-off-by: Jason Riedy <ejr@cs.berkeley.edu>
jason [Tue, 3 Mar 2009 17:12:04 +0000 (17:12 +0000)]
Only touch Q in {d,s}tgsen.f if WANTQ is true.
Reported by Daniel Waggoner <dwaggoner@frbatlanta.org> in message
<
49AA2617.
4060900@frbatlanta.org>.
Signed-off-by: Jason Riedy <ejr@cs.berkeley.edu>
deaglanhalligan [Fri, 13 Feb 2009 23:58:46 +0000 (23:58 +0000)]
Restructured loops in {c,z}la_yyrcond_{x,c} and {s,c,d,z}la_yyamv to do less comparisons.
deaglanhalligan [Wed, 11 Feb 2009 09:20:58 +0000 (09:20 +0000)]
Should call {c,z}la_heamv, not {c,z}la_syamv, from {c,z}la_porfsx_extended.
deaglanhalligan [Wed, 11 Feb 2009 07:13:27 +0000 (07:13 +0000)]
Modified {c,z}syequb to use 2*N WORK rather than 3*N.
deaglanhalligan [Wed, 11 Feb 2009 06:06:54 +0000 (06:06 +0000)]
Added Jasons patches to bring work and rwork down to 2*N in the complex refinement routines.
deaglanhalligan [Tue, 10 Feb 2009 12:17:14 +0000 (12:17 +0000)]
cgesvxx and zgesvxx need at least 3*N WORK space after changes from last bug fix
deaglanhalligan [Tue, 10 Feb 2009 03:14:40 +0000 (03:14 +0000)]
Fixed WORK/RWORK bug in complex iterative refinement routines.
langou [Mon, 9 Feb 2009 22:08:05 +0000 (22:08 +0000)]
langou [Mon, 9 Feb 2009 21:37:20 +0000 (21:37 +0000)]
langou [Sun, 1 Feb 2009 19:51:40 +0000 (19:51 +0000)]
jason [Wed, 28 Jan 2009 20:34:18 +0000 (20:34 +0000)]
Fix scaling in the transpose case of extra-precise refinement.
The row-scaling factors need passed in the transpose case. Apparently,
none of our release tests include ill-scaled matrices.
Signed-off-by: Jason Riedy <ejr@cs.berkeley.edu>
langou [Wed, 28 Jan 2009 16:11:32 +0000 (16:11 +0000)]
==============================================================================
Patch from Christof Voemel, ETH Zurich.
==============================================================================
I would like to make a small change in dlarrd/slarrd/_larrd.f.base so that the
code deals better with certain matrices from Godunov.
Could you please replace in those files the lines, after label 40,
GL = GL - FUDGE*SPDIAM*EPS*IN - FUDGE*PIVMIN
GU = GU + FUDGE*SPDIAM*EPS*IN + FUDGE*PIVMIN
by
GL = GL - FUDGE*TNORM*EPS*IN - FUDGE*PIVMIN
GU = GU + FUDGE*TNORM*EPS*IN + FUDGE*PIVMIN
(Exchange SPDIAM to TNORM).
==============================================================================
deaglanhalligan [Mon, 26 Jan 2009 03:51:22 +0000 (03:51 +0000)]
Set ithresh to 10, not 100. Removed la_linrx_max_n_errs.
deaglanhalligan [Thu, 22 Jan 2009 23:28:13 +0000 (23:28 +0000)]
Fixed typos and variable types in testing files.
deaglanhalligan [Thu, 22 Jan 2009 10:40:59 +0000 (10:40 +0000)]
Added the rest of the extra precise iterative refinement testing.
julie [Fri, 16 Jan 2009 22:27:20 +0000 (22:27 +0000)]
Fix out of bound access in LIN TESTING with XBLAS found with -fcheck-bounds with gfortran.
"Error in DLA_GBAMV.f line 226: forrtl: severe (408): fort: (2): Subscript #1 of the array AB has value 2 which is greater than the upper bound of 1"
Reported in http://icl.cs.utk.edu/trac/lapack-dev/ticket/45
julie [Mon, 12 Jan 2009 22:16:18 +0000 (22:16 +0000)]
Following a out-of-bound complaint by gfortran
Modify size in declaration of DX and DY.
It was set to 1, and 5 or N in the comments !!!!!
Put * in the declaration and N in the comments
This routine may need to be double-checked.
langou [Mon, 12 Jan 2009 05:17:21 +0000 (05:17 +0000)]
============================================================================
Bug in RFP routines xTFSM for N=1 independently reported by Jason and Julie.
============================================================================
See Jason's email DEC/27/2009: "Similar problem in xTFSM".
Jason used gfortran with -fbounds-check and got:
> At line 328 of file stfsm.f
> Fortran runtime error: Array reference out of bounds for array 'b', upper bound of dimension 1 exceeded (1 > 0)
Julie also observed the bug with MS Visual Studio.
See ticket http://icl.cs.utk.edu/trac/lapack-dev/ticket/46
The problem is the following. Sometimes in the RFP routines, we
call routines like for example
DGEMM ( M, N, K, ... A( I, J), ...)
where M or N is 0 and A( I, J ) is out-of-bound. The rationale was since M or
N is 0, DGEMM simply exits without doing anything, therefore the out-of-bound
A(I,J) is not an issue. Well, this is not Fortran correct.
In this commit, I have fix the problem for xTFSM. This is a fix. This is not
rocket-science and one can certainly do something more elegant ... This bug is
blocking Julie from porting on Windows so the matter was urgent.
Now RFP + ( gfortan -fbounds-check ) works fine.
TODO: find a cleaner way to fix this,
TODO: Unfortunately I believe there are other bugs like this one in other RFP
routines, always when N=1. See for example xPFTRF. I do not understand why the
TESTING with gfortran -fbounds-check do not trigger an error though ...
julie [Thu, 8 Jan 2009 19:58:17 +0000 (19:58 +0000)]
Fix some minors errors found while porting under Windows
julie [Fri, 2 Jan 2009 21:57:02 +0000 (21:57 +0000)]
Last round of modifications to the comments for the generation of the manpages
jason [Tue, 30 Dec 2008 21:27:12 +0000 (21:27 +0000)]
Merged revisions 609-614 via svnmerge from
https://jason@icl.cs.utk.edu/svn/lapack-dev/lapack/branches/SC08-release
........
r609 | julie | 2008-12-16 17:17:52 -0500 (Tue, 16 Dec 2008) | 1 line
Polish routines to fit the LAPACK framework and allow manpages generation
........
r610 | langou | 2008-12-19 12:12:38 -0500 (Fri, 19 Dec 2008) | 30 lines
bug reported on the forum
https://icl.cs.utk.edu/lapack-forum/viewtopic.php?f=2&t=854
the complete thread is available at
http://groups.google.com/group/comp.lang.fortran/browse_thread/thread/
635192e11beadb93#
Tobias Burnus also sent us an email:
> Hello,
>
> this was reported at
> http://groups.google.com/group/comp.lang.fortran/browse_thread/thread/
635192e11beadb93#
>
> The problem is the line 47:
>
> 47: IF( M.EQ.0 .OR. A(M, 1).NE.ZERO .OR. A(M, N).NE.ZERO ) THEN
>
> If M == 0 the one accesses A(0,1) which is invalid as the lower bound is 1
> and not 0.
>
> Note: Contrary to C there is no left-to-right evaluation of expressions in
> Fortran; the order is left to the compiler. One might assume that a smart
> compiler does not evaluate "A(M,1)" if "M==0", however, there is nothing in
> the standard guarantees this.
>
> If bounds checks are turned on (see post at the URL above), gfortran aborts
> with an out-of-bounds error.
........
r611 | julie | 2008-12-19 15:00:58 -0500 (Fri, 19 Dec 2008) | 5 lines
Modify the formatting of the comments.
Replace Note and Notes section by Further Details
This allow the manpages to be generated corectly.
........
r612 | julie | 2008-12-19 16:29:21 -0500 (Fri, 19 Dec 2008) | 3 lines
Reformat the xblas routines comments to be able to generate the manpages
........
r613 | julie | 2008-12-19 16:30:31 -0500 (Fri, 19 Dec 2008) | 1 line
Update version number
........
r614 | jason | 2008-12-27 09:44:45 -0500 (Sat, 27 Dec 2008) | 13 lines
Fix non-short-circuited tests in ILAxL{C,R}.
Fortran doesn't short-circuit logical operators, so the check that the leading
dimension /= 0 may not prevent indexing into a 0-length array.
Reported by "hes selex" in
http://groups.google.com/group/comp.lang.fortran/browse_thread/thread/
635192e11beadb93
and forwarded to the LAPACK maintainers by Tobias Burnus <burnus@net-b.de>.
Chalk up more bugs found by gfortran's diagnostics!
Signed-off-by: Jason Riedy <ejr@cs.berkeley.edu>
Cc: Tobias Burnus <burnus@net-b.de>
........
julie [Tue, 16 Dec 2008 17:06:58 +0000 (17:06 +0000)]
yozo [Tue, 11 Nov 2008 19:57:27 +0000 (19:57 +0000)]
XBLAS: Added gbmv2 (including test codes).
This routines computes the matrix product:
y <- alpha * op(A) * (x_head + x_tail) + beta * y
where A is a general banded matrix.
yozo [Tue, 11 Nov 2008 19:56:54 +0000 (19:56 +0000)]
XBLAS: Added hemv2 (including test codes).
This routines computes the matrix product:
y <- alpha * A * (x_head + x_tail) + beta * y
where A is a complex Hermitian matrix.
yozo [Tue, 11 Nov 2008 19:56:25 +0000 (19:56 +0000)]
XBLAS: Added symv2 (including tests).
symv2 performs
y <- alpha * A * (x_head + x_tail) + beta * y
where A is a symmetric matrix.
yozo [Tue, 11 Nov 2008 19:56:07 +0000 (19:56 +0000)]
XBLAS: Fix increment adjustment in do_test_axpby.
We need to double the increment for complex cases.
yozo [Tue, 11 Nov 2008 19:55:57 +0000 (19:55 +0000)]
XBLAS: Fix bug in testgen_BLAS_[cz]dot2.
Wrong parameter was being passed to gen_y_to_cancel.
Should pass n_fix2+1 instead of k+1, since k and n_fix2
differ by factor of two for complex case.
yozo [Tue, 11 Nov 2008 19:55:50 +0000 (19:55 +0000)]
XBLAS: Fix bug in testing/test-dot2/testgen_BLAS_[sd]dot2.
Scaling factor to compute x_tail was being rounded to integer,
and thus was producing all zeros for x_tail (and hence didn't
test whether *mv2 routines were looking at x_tail at all).
yozo [Tue, 11 Nov 2008 19:55:41 +0000 (19:55 +0000)]
XBLAS: Removed unused variable x_vec in testing/test-symv/do_test_symv.c.
yozo [Tue, 11 Nov 2008 19:55:32 +0000 (19:55 +0000)]
XBLAS: Make argument error return codes more specific in gbmv.
Should return -k if the k-th argument is in error, instead of just 0.
yozo [Tue, 11 Nov 2008 19:55:11 +0000 (19:55 +0000)]
XBLAS: Fix lda check in gbmv.
For banded storage lda can be smaller than n or m.
yozo [Tue, 11 Nov 2008 19:54:53 +0000 (19:54 +0000)]
XBLAS: Fix lda check in gemv.
We need to raise error if lda < m for column major format,
and lda < n for row major format. Previously it was checking
for lda < leny.
Also test lda in do_test_gemv more carefully.
jason [Tue, 28 Oct 2008 01:38:50 +0000 (01:38 +0000)]
Move LAPACK trunk into position.