63
A Brief History of Numerical Libraries Sven Hammarling NAG Ltd, Oxford & University of Manchester

A Brief History of Numerical Libraries

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: A Brief History of Numerical Libraries

A Brief History of Numerical Libraries

Sven HammarlingNAG Ltd, Oxford

&University of Manchester

Page 2: A Brief History of Numerical Libraries

First – Something about Jack

Page 3: A Brief History of Numerical Libraries

Jack’s thesis(August 1980)

30 years ago!

Page 4: A Brief History of Numerical Libraries

TOMSAlgorithm589

Page 5: A Brief History of Numerical Libraries
Page 6: A Brief History of Numerical Libraries
Page 7: A Brief History of Numerical Libraries
Page 8: A Brief History of Numerical Libraries
Page 9: A Brief History of Numerical Libraries
Page 10: A Brief History of Numerical Libraries
Page 11: A Brief History of Numerical Libraries

Small Selection of Jack’s Projects

• Netlib and other software repositories • NA Digest and na-net• PVM and MPI• TOP 500 and computer benchmarking• NetSolve and other distributed computing

projects• Numerical linear algebra

Page 12: A Brief History of Numerical Libraries
Page 13: A Brief History of Numerical Libraries

Onto the Rest of the Talk!

Page 14: A Brief History of Numerical Libraries

Rough Outline• History and influences• Fortran• Floating Point Arithmetic• Libraries and packages• Proceedings and Books• Summary

Page 15: A Brief History of Numerical Libraries

Ada Lovelace(Countess Lovelace)

Born Augusta AdaByron

1815 – 1852

The language Adawas named after her

Page 16: A Brief History of Numerical Libraries

“Is thy face like thy mother’s, my fair child!Ada! sole daughter of my house and of my heart?When last I saw thy young blue eyes they smiled,And then we parted,-not as now we part,but with a hope”

Childe Harold’s Pilgramage,Lord Byron

Page 17: A Brief History of Numerical Libraries
Page 18: A Brief History of Numerical Libraries

Program for the Bernoulli Numbers

Page 19: A Brief History of Numerical Libraries

Manchester Baby, 21 June 1948 (Replica)

19

Page 20: A Brief History of Numerical Libraries

Kilburn/TootillProgram to compute the highest proper factor

took 52 minutes1.5 million instructions3.5 million store accesses

182

182

Page 21: A Brief History of Numerical Libraries

First published numerical library, 1951

First use of the word subroutine?

Page 22: A Brief History of Numerical Libraries
Page 23: A Brief History of Numerical Libraries

Quality Numerical Software• Should be:

– Numerically stable, with measures of quality of solution

– Reliable and robust– Accompanied by test software– Useful and user friendly with example programs– Fully documented– Portable– Efficient

Page 24: A Brief History of Numerical Libraries

“I have little doubt that about 80 per cent. of all the results printed from the computer are in error to a much greater extent than the user would believe, ...''

Leslie Fox, IMA Bulletin, 1971

Page 25: A Brief History of Numerical Libraries

“Giving business people spreadsheets is like giving children circular saws.

The average spreadsheet programmer does little or no advance planning, has no idea whether his or her algorithms are correct … builds in few or no cross-checks, and does little or no testing.

It is a cast iron certainty that the vast majority of spreadsheets contain errors”

Jack Schofield, The Guardian, 2003

Page 26: A Brief History of Numerical Libraries

N. J. Higham. Accuracy and Stability of Numerical Algorithms. SIAM, Philadelphia, PA, USA,second edition, 2002.

Page 27: A Brief History of Numerical Libraries

“Since the use of the punched-card equipment required the use of an operator, it encouraged user participation generally, and this was a distinctive feature of Pilot ACE operation…Speaking for myself I gained a great deal of experience from user participation, and it was this that led to my own conversion to backward error analysis.”Wilkinson (1980) in A History of Computing in the Twentieth Century, Academic Press

Page 28: A Brief History of Numerical Libraries

John Backus 1924 - 2007

Page 29: A Brief History of Numerical Libraries
Page 30: A Brief History of Numerical Libraries

Fortran

• Fortran lives on – now Fortran 2003• Fortran 2008 under discussion

• What happened to poor Ada?

Page 31: A Brief History of Numerical Libraries

Portability• For portability, needed a model of floating point

arithmetic• IFIP/WG 2.5. B Ford et al. See:

http://www.nsc.liu.se/~boein/ifip/projects/p1.txt• W S Brown A simple but realistic model of

floating-point computation ACM Trans. Math. Software,7, 445–480, 1981

• NAG: Chapter X02• LAPACK: xLAMCH

Page 32: A Brief History of Numerical Libraries

IEEE Arithmetic Formats

38 8

308 16

4932 20

Format Pr ecision Exponent Approx Range Approx precision ( )Single 24 bits 8 bits 10 10Double 53 bits 11 bits 10 10Extended 64 15 10 10

u± −

± −

± −≥ ≥

W. Kahan's self-portrait

Page 33: A Brief History of Numerical Libraries

T. J. Dekker, W. Hoffmann; Algol 60 procedures in numerical algebra part 2; MC Tracts 23, Mathematisch Centrum, Amsterdam (1968)

Page 34: A Brief History of Numerical Libraries

B. S. Garbow, J.M. Boyle, J. J. Dongarra, and C. B.Moler. Matrix Eigensystem Routines – EISPACKGuide Extension. Springer-Verlag, Berlin, Germany, 1977.

B. T. Smith, J.M. Boyle, B. S. Garbow, Y. Ikebe, V. C. Klema, and C. B.Moler. Matrix EigensystemRoutines – EISPACK Guide. Springer-Verlag, Berlin, Germany, 1974.

1976

Page 35: A Brief History of Numerical Libraries

NAG and IMSL

• The NAG Library and IMSL were both released in 1971

• NAG was a UK University project, started in 1970, but became a not for profit company in 1976

• IMSL was commercial from the outset and is now owned by Rouge Wave

• Both Libraries have comprehensive numerical and statistical routines

Page 36: A Brief History of Numerical Libraries

Others

• Other long standing libraries are:– BCSLIB from Boeing, has its origins in the

mid-1960s– HSL from Harwell (now developed and

supported by RAL) began in 1963– SLATEC, an open source collection, has its

origins in 1974. Released in 1981?

Page 37: A Brief History of Numerical Libraries

NAG 40th

• NAG is celebrating 40 years on May 13th

Page 38: A Brief History of Numerical Libraries

Basic Linear Algebra Subprograms

• Level 1 BLAS, 1979• Level 2 BLAS, 1988

– Vector machines• Level 3 BLAS, 1990

– Hierarchical memory, shared memory parallel• Dates are for TOMS publication

Page 39: A Brief History of Numerical Libraries
Page 40: A Brief History of Numerical Libraries
Page 41: A Brief History of Numerical Libraries
Page 42: A Brief History of Numerical Libraries

42

Page 43: A Brief History of Numerical Libraries

Discussion of linear equation solvers on the Pilot ACE

“An interesting feature of the codes is that they made a very intensive use of subroutines; the addition of two vectors, multiplication of a vector by a scalar, inner products, etc., were all coded this way.”

Wilkinson, 1980The History of Computing in the 20th Century.

Page 44: A Brief History of Numerical Libraries

Efficient Use of Data

“Since all machines have stores of finite size often divided up into high speed and auxiliary sections, storage considerations often have a vitally important part to play.”

Wilkinson, MTAC, 1955

Page 45: A Brief History of Numerical Libraries
Page 46: A Brief History of Numerical Libraries
Page 47: A Brief History of Numerical Libraries
Page 48: A Brief History of Numerical Libraries

Emphasis on error and condition estimates, as well as efficiency

Page 49: A Brief History of Numerical Libraries
Page 50: A Brief History of Numerical Libraries
Page 51: A Brief History of Numerical Libraries
Page 52: A Brief History of Numerical Libraries

Software Code Sizes

• NAG Fortran Library, Mark 21– Source: 28.3 Mb– Stringent test programs: 42.1 Mb– Example programs: 4.4 Mb– XML documentation: 136 Mb

• LAPACK 3.0– Source: 12.1 Mb– Testing: 10.9 Mb– Timing: 6.5 Mb– Users’ Guide: 407 pages

Page 53: A Brief History of Numerical Libraries

Measures of Solution Quality

( )

DGESVX is an 'expert' driver for solving , , , , , ,Estimate of 1/Estimated forward error for

Componentwise relative backward error for j

AX B

AX

X

κ

=DGESVX( RCOND FERR BERR WORK INFO)

RCOND :

FERR(j):

BERR(j):

(smallest relative change in any element of and that makes an exact solution)

Reciprocal of pivot growth factor (1 )0 if is singular or nearly singular

j

j

A BX

gA>

WORK(1):

INFO :

Page 54: A Brief History of Numerical Libraries

Proceedings of IMA Conference, Loughborough, 1973

Published 1974

Page 55: A Brief History of Numerical Libraries

Proceedings of IMA Conference, Sussex 1977

Published 1978

Page 56: A Brief History of Numerical Libraries

Proceedings of IFIP Conference, Boulder 1981

Published 1982

Included “Floating-point Parameters, Models and Standards by Jim Cody

Page 57: A Brief History of Numerical Libraries

Jim Cody in 1969

Sadly passed away on June 24th, 2009

Page 58: A Brief History of Numerical Libraries

State of Libraries and Packages in 1984

Page 59: A Brief History of Numerical Libraries

Articles on:

• Observations on Mathematical Software Effort (Cody)

• LINPACK (Dongarra, Stewart)• FUNPACK (Cody)• EISPACK (Dongarra, Moler)• MINPACK (Moré, Sorensen, Garbow, Hillstrom)• Software for ODEs (Shampine, Watts)

59

Page 60: A Brief History of Numerical Libraries

... (cont’d)• Sources of Information on Quadrature

Software (Kahaner)• A Survey of Sparse Matrix Software (Duff)

– included discussion of various sparse matrix packages, including SPARSPACK, ITPACK, FFTPACK and the Harwell Library

• Mathematical Software for Elliptic Boundary Value Problems (Boisvert, Sweet)– included discussion of ELLPACK and FISHPACK

60

Page 61: A Brief History of Numerical Libraries

... (cont’d)• The IMSL Library (Aird)• The SLATEC Common Mathematical Library

(Buzbee)• The Boeing Mathematical Software Library

(Erisman, Neves, Philips)• The PORT Mathematical Subroutine Library

(Fox)• The Evolving NAG Library Service (Ford, Pool)

61

Page 62: A Brief History of Numerical Libraries

Today

• BCSLIB, IMSL, HSL and NAG are all alive• A number of the PACKs are still available;

LAPACK is probably the most active (but needs more funding!)

• SLATEC?

• PETSc• Trilinos (maintained repository)• ...

Page 63: A Brief History of Numerical Libraries

Big Challenge for the Future

• Multicore and hybrid chips– PLASMA, MAGMA, ...

• Dongarra: “There is no Moore’s law for software”

• Congratulations to Jack and all of ICL, past and present