Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Routines from Edward Anderson #779

Closed
jgpallero opened this issue Jan 13, 2023 · 1 comment
Closed

Routines from Edward Anderson #779

jgpallero opened this issue Jan 13, 2023 · 1 comment

Comments

@jgpallero
Copy link
Contributor

jgpallero commented Jan 13, 2023

I've seen that from Lapack 3.9.1 onwards some routines of BLAS1 and Lapack were updated with versions from Edward Anderson (https://dl.acm.org/doi/10.1145/3061665). Not only the algorthms were updated, but also the behavior if incX<0, case where in previous versions the subrotine ended as if N<0. This is the case of xNRM2 in BLAS and xLASSQ in Lapack, for example. But I can see that in the functions of Anderson accompanying his paper is also xASUM, which works if incX<0, but in the current version of BLAS in 3.11.0 version of Lapack the classical version from Jack Dongarra (Linpack, 3/11/78) is maintained. Is there any special reason for this?

@langou
Copy link
Contributor

langou commented Jan 13, 2023

Hi @jgpallero,

No good reason that I know of.

A few "reasons" that I can think of: (1) "Time" to implement, check, write tester (2) usefulness of INCX < 0, (3) reluctance to change the legacy BLAS of 1978, (4) disapproval of allowing INCX < 0, some would rather allow INCX to be an unsigned integer.

Regarding (2), I do not know of many applications that uses INCX < 0. It does seem that INCX < 0 is critical. If someone wants to point to usage of INCX < 0 in existing software, I would appreciate. I think LAPACK uses (used?) INCX < 0 in two places, and these could easily be removed with INCX>=0.

Overall, I also see the interest to have consistency with how INCX behaves. (In particular when it is "easy" to make INCX < 0 happen, so, for example for the BLAS.) Yes, the contributions of Ed Anderson defines behaviors for INCX < 0 that did not exist before.

Julien.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants