[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] Add workaround for broken xGELSD workspace queries.
From: |
David Bateman |
Subject: |
Re: [PATCH] Add workaround for broken xGELSD workspace queries. |
Date: |
Wed, 13 Feb 2008 12:02:07 +0100 |
User-agent: |
Thunderbird 2.0.0.6 (X11/20070914) |
John W. Eaton wrote:
> On 12-Feb-2008, Jason Riedy wrote:
>
> | The xGELSD workspace queries are inconsistant with the logic inside
> | those routines in the short and fat case (m > n). For that case,
> | calculate a workspace size large enough to enable the efficient
> | algorithm. This may allocate more memory than necessary for small
> | cases. The calculated alternate size is at least the documented
> | minimum workspace requirement, so this amount always will work even
> | if the routines change.
> | ---
> | Sorry it's been so long. I don't want to describe the LAPACK
> | developer dynamic, but it's severely busted. ergh. I think
> | this is a minimal change, and the ILAENV declaration should
> | work on every Fortran compiler I know. -- Jason
>
> Just to avoid possible incompatible C<->Fortran calling conventions
> for Fortran funtions, we have always wrapped them in Fortran
> subroutines (see the files in libcruft/lapack-xtra). I did that for
> ilaenv and checked in your change.
>
> Thanks,
>
> jwe
>
>
This supercedes the xGELSD change I sent. However I have one
disagreement with this patch. The xGELSD.f functions use the condition
IF( N.GE.MNTHR ) THEN
rather that (n > m) as Jason used in his patch to check for the
workaround. Where MNTHR is given by
MNTHR = ILAENV( 6, 'ZGELSD', ' ', M, N, NRHS, -1 )
or 1.6 *m. Therefore I believe that the workaround should only apply
with the condition "if (1.6 * n > m)" instead of teh "if (n > m)" that
is currently used.
D.
--
David Bateman address@hidden
Motorola Labs - Paris +33 1 69 35 48 04 (Ph)
Parc Les Algorithmes, Commune de St Aubin +33 6 72 01 06 33 (Mob)
91193 Gif-Sur-Yvette FRANCE +33 1 69 35 77 01 (Fax)
The information contained in this communication has been classified as:
[x] General Business Information
[ ] Motorola Internal Use Only
[ ] Motorola Confidential Proprietary