the rise of multiprecision computations · iterative refinement given x 0. r = b ax 0 quad...

49
The Rise of Multiprecision Computations Nick Higham School of Mathematics The University of Manchester http://www.ma.man.ac.uk/~higham @nhigham, nickhigham.wordpress.com SAMSI, April 26, 2017

Upload: others

Post on 16-Oct-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: The Rise of Multiprecision Computations · Iterative Refinement Given x 0. r = b Ax 0 quad precision Solve Ad = r double precision x 1 = fl(x 0 +d) double precision Goes back at

Research Matters

February 25, 2009

Nick HighamDirector of Research

School of Mathematics

1 / 6

The Rise of MultiprecisionComputations

Nick HighamSchool of Mathematics

The University of Manchester

http://www.ma.man.ac.uk/~higham@nhigham, nickhigham.wordpress.com

SAMSI, April 26, 2017

Page 2: The Rise of Multiprecision Computations · Iterative Refinement Given x 0. r = b Ax 0 quad precision Solve Ad = r double precision x 1 = fl(x 0 +d) double precision Goes back at

Multiprecision arithmetic: floating point arithmeticsupporting multiple, possibly arbitrary, precisions.

Applications of & support for low precision.

Applications of & support for high precision.

How to adapt algorithms to achieve highaccuracy—especially iterative refinement.

Download this talk fromhttp://bit.ly/higham-samsi17

Nick Higham The Rise of Multiprecision Computations 2 / 37

Page 3: The Rise of Multiprecision Computations · Iterative Refinement Given x 0. r = b Ax 0 quad precision Solve Ad = r double precision x 1 = fl(x 0 +d) double precision Goes back at

IEEE Standard 754-1985 and 2008 Revision

Type Size Range u = 2−t

half 16 bits 10±5 2−11 ≈ 4.9× 10−4

single 32 bits 10±38 2−24 ≈ 6.0× 10−8

double 64 bits 10±308 2−53 ≈ 1.1× 10−16

quadruple 128 bits 10±4932 2−113 ≈ 9.6× 10−35

Arithmetic ops (+,−, ∗, /,√) performed as if firstcalculated to infinite precision, then rounded.Default: round to nearest, round to even in case of tie.Half precision is a storage format only.

Nick Higham The Rise of Multiprecision Computations 3 / 37

Page 4: The Rise of Multiprecision Computations · Iterative Refinement Given x 0. r = b Ax 0 quad precision Solve Ad = r double precision x 1 = fl(x 0 +d) double precision Goes back at

Intel Core Family (3rd gen., 2012)

Ivy Bridge supports half precision for storage.

Nick Higham The Rise of Multiprecision Computations 4 / 37

Page 5: The Rise of Multiprecision Computations · Iterative Refinement Given x 0. r = b Ax 0 quad precision Solve Ad = r double precision x 1 = fl(x 0 +d) double precision Goes back at

NVIDIA Tesla P100 (2016)

“The Tesla P100 is the world’s first accelerator built for deeplearning, and has native hardware ISA support for FP16arithmetic, delivering over 21 TeraFLOPS of FP16processing power.”

Nick Higham The Rise of Multiprecision Computations 5 / 37

Page 6: The Rise of Multiprecision Computations · Iterative Refinement Given x 0. r = b Ax 0 quad precision Solve Ad = r double precision x 1 = fl(x 0 +d) double precision Goes back at

TSUBAME 3.0 (HPC Wire, Feb 16, 2017)

Nick Higham The Rise of Multiprecision Computations 6 / 37

Page 7: The Rise of Multiprecision Computations · Iterative Refinement Given x 0. r = b Ax 0 quad precision Solve Ad = r double precision x 1 = fl(x 0 +d) double precision Goes back at
Page 8: The Rise of Multiprecision Computations · Iterative Refinement Given x 0. r = b Ax 0 quad precision Solve Ad = r double precision x 1 = fl(x 0 +d) double precision Goes back at

November 15, 2016: “confirmed . . . the future "Knights Mill"variant of the current Knights Landing Xeon Phi processorwould support mixed precision math . . . This should mean16-bit floating point as well as the normal 32-bit and 64-bitvariants, but Intel could have baked 8-bit support in there,too.”

Page 9: The Rise of Multiprecision Computations · Iterative Refinement Given x 0. r = b Ax 0 quad precision Solve Ad = r double precision x 1 = fl(x 0 +d) double precision Goes back at

“for machine learning as well as for certainimage processing and signal processingapplications, more data at lower precisionactually yields better results with certainalgorithms than a smaller amount of moreprecise data.”

Page 10: The Rise of Multiprecision Computations · Iterative Refinement Given x 0. r = b Ax 0 quad precision Solve Ad = r double precision x 1 = fl(x 0 +d) double precision Goes back at

Google Tensorflow Processor

“The TPU isspecial-purposehardware designed toaccelerate theinference phase in aneural network, in partthrough quantizing32-bit floating pointcomputations intolower-precision 8-bitarithmetic.”

Nick Higham The Rise of Multiprecision Computations 10 / 37

Page 11: The Rise of Multiprecision Computations · Iterative Refinement Given x 0. r = b Ax 0 quad precision Solve Ad = r double precision x 1 = fl(x 0 +d) double precision Goes back at

Machine Learning

Courbariaux, Benji & David (2015)We find that very low precision is sufficient notjust for running trained networks but also fortraining them.

We are solving the wrong problem anyway(Scheinberg, 2016), so don’t need an accuratesolution.

Low precision provides regularization.

See Jorge Nocedal’s plenary talk Stochastic GradientMethods for Machine Learning at SIAM CSE 2017.

Nick Higham The Rise of Multiprecision Computations 11 / 37

Page 12: The Rise of Multiprecision Computations · Iterative Refinement Given x 0. r = b Ax 0 quad precision Solve Ad = r double precision x 1 = fl(x 0 +d) double precision Goes back at

Climate Modelling

T. Palmer, More reliable forecasts with less precisecomputations: a fast-track route to cloud-resolvedweather and climate simulators?, Phil. Trans. R. Soc.A, 2014:

Is there merit in representing variables atsufficiently high wavenumbers using halfor even quarter precision floating-pointnumbers?

T. Palmer, Build imprecise supercomputers, Nature,2015.

Nick Higham The Rise of Multiprecision Computations 12 / 37

Page 13: The Rise of Multiprecision Computations · Iterative Refinement Given x 0. r = b Ax 0 quad precision Solve Ad = r double precision x 1 = fl(x 0 +d) double precision Goes back at

Error Analysis in Low Precision

For an inner product xT y of n-vectors the standard errorbound is

| fl(xT y)− xT y | ≤ nu|x |T |y |+ O(u2).

In half precision, u ≈ 4.9× 10−4, so nu = 1 for n = 2048 .

Most existing rounding error analysis guar-antees no accuracy, and maybe not even acorrect exponent, for half precision!

Is standard error analysis especially pessimistic in theseapplications? Try a statistical approach?

Nick Higham The Rise of Multiprecision Computations 13 / 37

Page 14: The Rise of Multiprecision Computations · Iterative Refinement Given x 0. r = b Ax 0 quad precision Solve Ad = r double precision x 1 = fl(x 0 +d) double precision Goes back at

Error Analysis in Low Precision

For an inner product xT y of n-vectors the standard errorbound is

| fl(xT y)− xT y | ≤ nu|x |T |y |+ O(u2).

In half precision, u ≈ 4.9× 10−4, so nu = 1 for n = 2048 .

Most existing rounding error analysis guar-antees no accuracy, and maybe not even acorrect exponent, for half precision!

Is standard error analysis especially pessimistic in theseapplications? Try a statistical approach?

Nick Higham The Rise of Multiprecision Computations 13 / 37

Page 15: The Rise of Multiprecision Computations · Iterative Refinement Given x 0. r = b Ax 0 quad precision Solve Ad = r double precision x 1 = fl(x 0 +d) double precision Goes back at

Error Analysis in Low Precision

For an inner product xT y of n-vectors the standard errorbound is

| fl(xT y)− xT y | ≤ nu|x |T |y |+ O(u2).

In half precision, u ≈ 4.9× 10−4, so nu = 1 for n = 2048 .

Most existing rounding error analysis guar-antees no accuracy, and maybe not even acorrect exponent, for half precision!

Is standard error analysis especially pessimistic in theseapplications? Try a statistical approach?

Nick Higham The Rise of Multiprecision Computations 13 / 37

Page 16: The Rise of Multiprecision Computations · Iterative Refinement Given x 0. r = b Ax 0 quad precision Solve Ad = r double precision x 1 = fl(x 0 +d) double precision Goes back at

Need for Higher Precision

He and Ding, Using Accurate Arithmetics toImprove Numerical Reproducibility and Stability inParallel Applications, 2001.Bailey, Barrio & Borwein, High-PrecisionComputation: Mathematical Physics & Dynamics,2012.Khanna, High-Precision Numerical Simulations on aCUDA GPU: Kerr Black Hole Tails, 2013.Beliakov and Matiyasevich, A Parallel Algorithm forCalculation of Determinants and Minors UsingArbitrary Precision Arithmetic, 2016.Ma and Saunders, Solving Multiscale LinearPrograms Using the Simplex Method in QuadruplePrecision, 2015.

Nick Higham The Rise of Multiprecision Computations 14 / 37

Page 17: The Rise of Multiprecision Computations · Iterative Refinement Given x 0. r = b Ax 0 quad precision Solve Ad = r double precision x 1 = fl(x 0 +d) double precision Goes back at

Higher Precision to Avoid Overflow

Nick Higham The Rise of Multiprecision Computations 15 / 37

Page 18: The Rise of Multiprecision Computations · Iterative Refinement Given x 0. r = b Ax 0 quad precision Solve Ad = r double precision x 1 = fl(x 0 +d) double precision Goes back at

Increasing the Precision

MythIncreasing the precision at which a computation isperformed increases the accuracy of the answer.

Consider the evaluation in precision u = 2−t of

y = x + a sin(bx), x = 1/7, a = 10−8, b = 224.

Nick Higham The Rise of Multiprecision Computations 16 / 37

Page 19: The Rise of Multiprecision Computations · Iterative Refinement Given x 0. r = b Ax 0 quad precision Solve Ad = r double precision x 1 = fl(x 0 +d) double precision Goes back at

10 15 20 25 30 35 4010

−14

10−13

10−12

10−11

10−10

10−9

10−8

10−7

10−6

10−5

10−4

t

error

Page 20: The Rise of Multiprecision Computations · Iterative Refinement Given x 0. r = b Ax 0 quad precision Solve Ad = r double precision x 1 = fl(x 0 +d) double precision Goes back at

IBM z13 Mainframe Systems

z13 processor (2015) has quadrupleprecision in the vector & floating pointunit.

Lichtenau, Carlough & Mueller (2016):“designed to maximize performance for quadprecision floating-point operations that are occurringwith increased frequency on Business Analyticsworkloads . . .on commercial products like ILOG and SPSS,replacing double precision operations withquad-precision operations in critical routines yield18% faster convergence due to reduced rounding error.

Nick Higham The Rise of Multiprecision Computations 18 / 37

Page 21: The Rise of Multiprecision Computations · Iterative Refinement Given x 0. r = b Ax 0 quad precision Solve Ad = r double precision x 1 = fl(x 0 +d) double precision Goes back at

Availability of Multiprecision in Software

Maple, Mathematica, PARI/GP, Sage.

MATLAB: Symbolic Math Toolbox, MultiprecisionComputing Toolbox (Advanpix).

Julia: BigFloat.

Mpmath and SymPy for Python.

GNU MP Library.

GNU MPFR Library.

(Quad only): some C, Fortran compilers.

Gone, but not forgotten:

Numerical Turing: Hull et al., 1985.

Nick Higham The Rise of Multiprecision Computations 19 / 37

Page 22: The Rise of Multiprecision Computations · Iterative Refinement Given x 0. r = b Ax 0 quad precision Solve Ad = r double precision x 1 = fl(x 0 +d) double precision Goes back at

Note on Log Tables

Name Year Range Decimal placesR. de Prony 1801 1− 10,000 19

Edward Sang 1875 1− 20,000 28

Age 82

Edward Sang (1805–1890).Born in Kirkcaldy.Teacher of maths and actuary inEdinburgh.

Nick Higham The Rise of Multiprecision Computations 20 / 37

Page 23: The Rise of Multiprecision Computations · Iterative Refinement Given x 0. r = b Ax 0 quad precision Solve Ad = r double precision x 1 = fl(x 0 +d) double precision Goes back at

Going to Higher Precision

If we have quadruple or higher precision, how can wemodify existing algorithms to exploit it?

To what extent are existing algs precision-independent?

Newton-type algs: just decrease tol?

How little higher precision can we get away with?

Gradually increase precision through the iterations?

Nick Higham The Rise of Multiprecision Computations 21 / 37

Page 24: The Rise of Multiprecision Computations · Iterative Refinement Given x 0. r = b Ax 0 quad precision Solve Ad = r double precision x 1 = fl(x 0 +d) double precision Goes back at

Going to Higher Precision

If we have quadruple or higher precision, how can wemodify existing algorithms to exploit it?

To what extent are existing algs precision-independent?

Newton-type algs: just decrease tol?

How little higher precision can we get away with?

Gradually increase precision through the iterations?

Nick Higham The Rise of Multiprecision Computations 21 / 37

Page 25: The Rise of Multiprecision Computations · Iterative Refinement Given x 0. r = b Ax 0 quad precision Solve Ad = r double precision x 1 = fl(x 0 +d) double precision Goes back at

Matrix Functions

(Inverse) scaling and squaring-type algorithms for eA,log A, cos A, At use Padé approximants.

Padé degree and algorithm parameters chosen toachieve double precision accuracy, u = 2−53.Change u and the algorithm logic needs changing!H & Fasi, 2017: Multiprecision Algorithms forComputing the Matrix Logarithm.

Open questions even for scalar elementary functions!

Nick Higham The Rise of Multiprecision Computations 22 / 37

Page 26: The Rise of Multiprecision Computations · Iterative Refinement Given x 0. r = b Ax 0 quad precision Solve Ad = r double precision x 1 = fl(x 0 +d) double precision Goes back at

Accurate Solution of Ax = bJoint work with Erin Carson (NYU).

Base precision u; extended precision u.A,b are given in precision u (known exactly).A is n × n and nonsingular.Want x correct to precision u.

Allow κ(A) = ‖A‖‖A−1‖ & u−1.

Reference solutions for testing solvers.Radial basis functions.Ill-conditioned FE geomechanical problems.

Base precision may be half or single!

Nick Higham The Rise of Multiprecision Computations 23 / 37

Page 27: The Rise of Multiprecision Computations · Iterative Refinement Given x 0. r = b Ax 0 quad precision Solve Ad = r double precision x 1 = fl(x 0 +d) double precision Goes back at

Accurate Solution of Ax = bJoint work with Erin Carson (NYU).

Base precision u; extended precision u.A,b are given in precision u (known exactly).A is n × n and nonsingular.Want x correct to precision u.

Allow κ(A) = ‖A‖‖A−1‖ & u−1.

Reference solutions for testing solvers.Radial basis functions.Ill-conditioned FE geomechanical problems.

Base precision may be half or single!

Nick Higham The Rise of Multiprecision Computations 23 / 37

Page 28: The Rise of Multiprecision Computations · Iterative Refinement Given x 0. r = b Ax 0 quad precision Solve Ad = r double precision x 1 = fl(x 0 +d) double precision Goes back at

Iterative Refinement

Given x0.r = b − Ax0 quad precisionSolve Ad = r double precisionx1 = fl(x0 + d) double precision

Goes back at least to Wilkinson’s Progress Report on theAutomatic Computing Engine (1948).

Nick Higham The Rise of Multiprecision Computations 24 / 37

Page 29: The Rise of Multiprecision Computations · Iterative Refinement Given x 0. r = b Ax 0 quad precision Solve Ad = r double precision x 1 = fl(x 0 +d) double precision Goes back at

Simple Analysis

Given x0, assumer = b − Ax0 exactSolve Ad = r perfect backward errorx1 = fl(x0 + d) exact

Then(A + E)d = r , |E | ≤ u|A|.

Then x − x1 ≈ −A−1E(x − x0) and so

‖x − x1‖ . ‖ |A−1||A| ‖∞u‖x − x0‖≤ κ(A)u‖x − x0‖

is the best bound we can obtain.

Is there any hope when κ(A) & u−1?

Nick Higham The Rise of Multiprecision Computations 25 / 37

Page 30: The Rise of Multiprecision Computations · Iterative Refinement Given x 0. r = b Ax 0 quad precision Solve Ad = r double precision x 1 = fl(x 0 +d) double precision Goes back at

Why There is Hope

Empirically observed by Rump (1990) that if L and U arecomputed LU factors of A from GEPP then

κ(L−1AU−1) ≈ 1 + κ(A)u,

even for κ(A)� u−1.

Nick Higham The Rise of Multiprecision Computations 26 / 37

Page 31: The Rise of Multiprecision Computations · Iterative Refinement Given x 0. r = b Ax 0 quad precision Solve Ad = r double precision x 1 = fl(x 0 +d) double precision Goes back at

10 15 20 2510

0

105

1010

1015

1020

invhilb

κ∞(U−1L−1A)

1 + κ∞(A)u

10 15 20 2510

0

101

102

103

104

105

randsvd

κ∞(U−1L−1A)

1 + κ∞(A)u

Page 32: The Rise of Multiprecision Computations · Iterative Refinement Given x 0. r = b Ax 0 quad precision Solve Ad = r double precision x 1 = fl(x 0 +d) double precision Goes back at

Existing Rounding Error Analysis

Wilkinson (1963): fixed-point arithmetic.Moler (1967): floating-point arithmetic.Higham (1997, 2002): more general analysis forarbitrary solver.

All the above have the κ(A)u < 1 limitation.

Nick Higham The Rise of Multiprecision Computations 28 / 37

Page 33: The Rise of Multiprecision Computations · Iterative Refinement Given x 0. r = b Ax 0 quad precision Solve Ad = r double precision x 1 = fl(x 0 +d) double precision Goes back at

Existing Rounding Error Analysis

Wilkinson (1963): fixed-point arithmetic.Moler (1967): floating-point arithmetic.Higham (1997, 2002): more general analysis forarbitrary solver.

All the above have the κ(A)u < 1 limitation.

Nick Higham The Rise of Multiprecision Computations 28 / 37

Page 34: The Rise of Multiprecision Computations · Iterative Refinement Given x 0. r = b Ax 0 quad precision Solve Ad = r double precision x 1 = fl(x 0 +d) double precision Goes back at

New Analysis

Compute residual ri = b − Axi in precision u.Assume computed solution y to Ay = c satisfies

‖y − y‖∞‖y‖

≤ θ u, θu ≤ 1.

Define µ(p)i by

‖A(x − xi)‖p = µ(p)i ‖A‖p‖x − xi‖p,

and note that

κp(A)−1 ≤ µ(p)i ≤ 1.

Nick Higham The Rise of Multiprecision Computations 29 / 37

Page 35: The Rise of Multiprecision Computations · Iterative Refinement Given x 0. r = b Ax 0 quad precision Solve Ad = r double precision x 1 = fl(x 0 +d) double precision Goes back at

Convergence Result

Theorem

For IR in precisions u and u ≤ u applied to a nonsingularlinear system Ax = b the computed iterate xi+1 satisfies

‖xi+1 − x‖∞ .(µ(∞)i κ∞(A)u + θi u

)‖x − xi‖∞

+ nu(1 + θiu)‖ |A−1|(|b|+ |A||xi |) ‖∞+ u‖xi+1‖∞.

Analogous standard bound would have

µ(∞)i = 1,θi = κ(A).

Nick Higham The Rise of Multiprecision Computations 30 / 37

Page 36: The Rise of Multiprecision Computations · Iterative Refinement Given x 0. r = b Ax 0 quad precision Solve Ad = r double precision x 1 = fl(x 0 +d) double precision Goes back at

Bounding µi

For the 2-norm, can show that

µi ≤‖ri‖2

‖Pk ri‖2

σn+1−k

σ1,

where A = UΣV T is an SVD, Pk = UkUTk with

Uk = [un+1−k , . . . ,un].

For a stable solver, in the early stages we expect

‖ri‖‖A‖‖xi‖

≈ u � ‖x − xi‖‖x‖

,

or equivalently µi � 1. But close to convergence

‖ri‖ ≈ ‖A‖‖x − xi‖ or µi ≈ 1.

Nick Higham The Rise of Multiprecision Computations 31 / 37

Page 37: The Rise of Multiprecision Computations · Iterative Refinement Given x 0. r = b Ax 0 quad precision Solve Ad = r double precision x 1 = fl(x 0 +d) double precision Goes back at

Bounding θi

θi bounds rel error in solution of Adi = ri .We need θiu � 1.

Standard solvers cannot achieve this!

We apply GMRES to

U−1L−1A︸ ︷︷ ︸A

di = U−1L−1ri .

κ(A)� κ(A) typically.

Rounding error analysis shows we get an accurate di .

Nick Higham The Rise of Multiprecision Computations 32 / 37

Page 38: The Rise of Multiprecision Computations · Iterative Refinement Given x 0. r = b Ax 0 quad precision Solve Ad = r double precision x 1 = fl(x 0 +d) double precision Goes back at

The New, Two-Stage Algorithm

Solve Ax = b by LU with partial pivoting.Apply standard IR.If IR diverges, apply IR with preconditioned GMRES.

Tests with matrices from University of Florida Sparse MatrixCollection . . .

Nick Higham The Rise of Multiprecision Computations 33 / 37

Page 39: The Rise of Multiprecision Computations · Iterative Refinement Given x 0. r = b Ax 0 quad precision Solve Ad = r double precision x 1 = fl(x 0 +d) double precision Goes back at

The New, Two-Stage Algorithm

Solve Ax = b by LU with partial pivoting.Apply standard IR.If IR diverges, apply IR with preconditioned GMRES.

Tests with matrices from University of Florida Sparse MatrixCollection . . .

Nick Higham The Rise of Multiprecision Computations 33 / 37

Page 40: The Rise of Multiprecision Computations · Iterative Refinement Given x 0. r = b Ax 0 quad precision Solve Ad = r double precision x 1 = fl(x 0 +d) double precision Goes back at

radfr1, κ∞(A) = 1011, u = single

0 5 10 15re-nement step i

10-10

10-5

100

ei

Nick Higham The Rise of Multiprecision Computations 34 / 37

Page 41: The Rise of Multiprecision Computations · Iterative Refinement Given x 0. r = b Ax 0 quad precision Solve Ad = r double precision x 1 = fl(x 0 +d) double precision Goes back at

adder_dcop_26, κ∞(A) = 1011, u = single

0 5 10 15re-nement step i

10-10

10-5

100

ei

Nick Higham The Rise of Multiprecision Computations 35 / 37

Page 42: The Rise of Multiprecision Computations · Iterative Refinement Given x 0. r = b Ax 0 quad precision Solve Ad = r double precision x 1 = fl(x 0 +d) double precision Goes back at

oscil_dcop_43, κ∞(A) = 1021, u = double

0 5 10 15re-nement step i

10-20

10-15

10-10

10-5

100

ei

Nick Higham The Rise of Multiprecision Computations 36 / 37

Page 43: The Rise of Multiprecision Computations · Iterative Refinement Given x 0. r = b Ax 0 quad precision Solve Ad = r double precision x 1 = fl(x 0 +d) double precision Goes back at

Conclusions

Both low and high precision floating-point arithmeticbecoming more prevalent, in hardware and software.

Need better understanding of behaviour of algs in lowprecision arithmetic.

Judicious use of a little high precision can bringmajor benefits.

Identified mechanism allowing iter ref to produceaccurate solutions when κ(A) & u−1, provided updateequation is solved with some accuracy.

Nick Higham The Rise of Multiprecision Computations 37 / 37

Page 44: The Rise of Multiprecision Computations · Iterative Refinement Given x 0. r = b Ax 0 quad precision Solve Ad = r double precision x 1 = fl(x 0 +d) double precision Goes back at

References I

D. H. Bailey, R. Barrio, and J. M. Borwein.High-precision computation: Mathematical physics anddynamics.Appl. Math. Comput., 218(20):10106–10121, 2012.

G. Beliakov and Y. Matiyasevich.A parallel algorithm for calculation of determinants andminors using arbitrary precision arithmetic.BIT, 56(1):33–50, 2015.

Nick Higham The Rise of Multiprecision Computations 1 / 6

Page 45: The Rise of Multiprecision Computations · Iterative Refinement Given x 0. r = b Ax 0 quad precision Solve Ad = r double precision x 1 = fl(x 0 +d) double precision Goes back at

References II

E. Carson and N. J. Higham.A new analysis of iterative refinement and its applicationto accurate solution of ill-conditioned sparse linearsystems.MIMS EPrint 2017.12, Manchester Institute forMathematical Sciences, The University of Manchester,UK, Mar. 2017.23 pp.

M. Courbariaux, Y. Bengio, and J.-P. David.Training deep neural networks with low precisionmultiplications, 2015.ArXiv preprint 1412.7024v5.

Nick Higham The Rise of Multiprecision Computations 2 / 6

Page 46: The Rise of Multiprecision Computations · Iterative Refinement Given x 0. r = b Ax 0 quad precision Solve Ad = r double precision x 1 = fl(x 0 +d) double precision Goes back at

References III

A. D. D. Craik.The logarithmic tables of Edward Sang and hisdaughters.Historia Mathematica, 30(1):47–84, 2003.

Y. He and C. H. Q. Ding.Using accurate arithmetics to improve numericalreproducibility and stability in parallel applications.J. Supercomputing, 18(3):259–277, 2001.

N. J. Higham.Iterative refinement for linear systems and LAPACK.IMA J. Numer. Anal., 17(4):495–509, 1997.

Nick Higham The Rise of Multiprecision Computations 3 / 6

Page 47: The Rise of Multiprecision Computations · Iterative Refinement Given x 0. r = b Ax 0 quad precision Solve Ad = r double precision x 1 = fl(x 0 +d) double precision Goes back at

References IV

N. J. Higham.Accuracy and Stability of Numerical Algorithms.Society for Industrial and Applied Mathematics,Philadelphia, PA, USA, second edition, 2002.ISBN 0-89871-521-0.xxx+680 pp.

G. Khanna.High-precision numerical simulations on a CUDA GPU:Kerr black hole tails.J. Sci. Comput., 56(2):366–380, 2013.

Nick Higham The Rise of Multiprecision Computations 4 / 6

Page 48: The Rise of Multiprecision Computations · Iterative Refinement Given x 0. r = b Ax 0 quad precision Solve Ad = r double precision x 1 = fl(x 0 +d) double precision Goes back at

References V

C. Lichtenau, S. Carlough, and S. M. Mueller.Quad precision floating point on the IBM z13.In 2016 IEEE 23nd Symposium on Computer Arithmetic(ARITH), pages 87–94, July 2016.

D. Ma and M. Saunders.Solving multiscale linear programs using the simplexmethod in quadruple precision.In M. Al-Baali, L. Grandinetti, and A. Purnama, editors,Numerical Analysis and Optimization, number 134 inSpringer Proceedings in Mathematics and Statistics,pages 223–235. Springer-Verlag, Berlin, 2015.

Nick Higham The Rise of Multiprecision Computations 5 / 6

Page 49: The Rise of Multiprecision Computations · Iterative Refinement Given x 0. r = b Ax 0 quad precision Solve Ad = r double precision x 1 = fl(x 0 +d) double precision Goes back at

References VI

K. Scheinberg.Evolution of randomness in optimization methods forsupervised machine learning.SIAG/OPT Views and News, 24(1):1–8, 2016.

Nick Higham The Rise of Multiprecision Computations 6 / 6