Nicholas J. Higham

dblp:99/756 · also Nicholas John Higham · DBLP profile ↗
← Back
16ranked-venue papers
6as first author
2since 2021 · last 2023
0000-0001-5956-4976ORCID · verified

Domains — the database's venue-derived domains; a paper can count in several

Theory of computation · 11 · 5 first-author · 2 since 2021Systems, architecture and hardware · 5 · 1 first-author
YearPublicationVenuePosition
2023 Combining Sparse Approximate Factorizations with Mixed-precision Iterative Refinement
abstract
The standard LU factorization-based solution process for linear systems can be enhanced in speed or accuracy by employing mixed-precision iterative refinement. Most recent work has focused on dense systems. We investigate the potential of mixed-precision iterative refinement to enhance methods for sparse systems based on approximate sparse factorizations. In doing so, we first develop a new error analysis for LU- and GMRES-based iterative refinement under a general model of LU factorization that accounts for the approximation methods typically used by modern sparse solvers, such as low-rank approximations or relaxed pivoting strategies. We then provide a detailed performance analysis of both the execution time and memory consumption of different algorithms, based on a selected set of iterative refinement variants and approximate sparse factorizations. Our performance study uses the multifrontal solver MUMPS, which can exploit block low-rank factorization and static pivoting. We evaluate the performance of the algorithms on large, sparse problems coming from a variety of real-life and industrial applications showing that mixed-precision iterative refinement combined with approximate sparse factorization can lead to considerable reductions of both the time and memory consumption.
Patrick Amestoy, Alfredo Buttari, Nicholas J. Higham, Jean-Yves L'Excellent, Théo Mary, Bastien Vieublé
ACM Trans. Math. Softw.3
2021 A Set of Batched Basic Linear Algebra Subprograms and LAPACK Routines
abstract
This article describes a standard API for a set of Batched Basic Linear Algebra Subprograms (Batched BLAS or BBLAS). The focus is on many independent BLAS operations on small matrices that are grouped together and processed by a single routine, called a Batched BLAS routine. The matrices are grouped together in uniformly sized groups, with just one group if all the matrices are of equal size. The aim is to provide more efficient, but portable, implementations of algorithms on high-performance many-core platforms. These include multicore and many-core CPU processors, GPUs and coprocessors, and other hardware accelerators with floating-point compute facility. As well as the standard types of single and double precision, we also include half and quadruple precision in the standard. In particular, half precision is used in many very large scale applications, such as those associated with machine learning.
Ahmad Abdelfattah, Timothy B. Costa, Jack J. Dongarra, Mark Gates, Azzam Haidar, Sven Hammarling, Nicholas J. Higham, Jakub Kurzak, Piotr Luszczek, Stanimire Tomov, Mawussi Zounon
ACM Trans. Math. Softw.7
2019 Adaptive precision in block-Jacobi preconditioning for iterative sparse linear system solvers
abstract
Summary We propose an adaptive scheme to reduce communication overhead caused by data movement by selectively storing the diagonal blocks of a block‐Jacobi preconditioner in different precision formats (half, single, or double). This specialized preconditioner can then be combined with any Krylov subspace method for the solution of sparse linear systems to perform all arithmetic in double precision. We assess the effects of the adaptive precision preconditioner on the iteration count and data transfer cost of a preconditioned conjugate gradient solver. A preconditioned conjugate gradient method is, in general, a memory bandwidth‐bound algorithm, and therefore its execution time and energy consumption are largely dominated by the costs of accessing the problem's data in memory. Given this observation, we propose a model that quantifies the time and energy savings of our approach based on the assumption that these two costs depend linearly on the bit length of a floating point number. Furthermore, we use a number of test problems from the SuiteSparse matrix collection to estimate the potential benefits of the adaptive block‐Jacobi preconditioning scheme.
Hartwig Anzt, Jack J. Dongarra, Goran Flegar, Nicholas J. Higham, Enrique S. Quintana-Ortí
Concurr. Comput. Pract. Exp.4
2018 Harnessing GPU tensor cores for fast FP16 arithmetic to speed up mixed-precision iterative refinement solvers
Azzam Haidar, Stanimire Tomov, Jack J. Dongarra, Nicholas J. Higham
SC4
2017 The Rise of Multiprecision Arithmetic
abstract
There is a growing demand for and availability of multiprecision arithmetic: floating point arithmetic supporting multiple, possibly arbitrary, precisions. For an increasing body of applications, including in supernova simulations, electromagnetic scattering theory, and computational number theory, double precision arithmetic is insufficient to provide results of the required accuracy. On the other hand, for climate modelling and deep learning half precision (about four significant decimal digits) has been shown to be sufficient in some studies. We discuss a number of topics involving multiprecision arithmetic, including: The need for, availability of, and ways to exploit, higher precision arithmetic (e.g., quadruple precision arithmetic). How to derive linear algebra algorithms that will run in any precision, as opposed to be being optimized (as some key algorithms are) for double precision. For solving linear systems with the use of iterative refinement, the benefits of suitably combining three different precisions of arithmetic (say, half, single, and double). How a new form of preconditioned iterative refinement can be used to solve very ill conditioned sparse linear systems to high accuracy.
Nicholas J. Higham
ARITH1
2017 Optimized Batched Linear Algebra for Modern Architectures
Jack J. Dongarra, Sven Hammarling, Nicholas J. Higham, Samuel D. Relton, Mawussi Zounon
Euro-Par3
2016 Testing Matrix Function Algorithms Using Identities
abstract
Algorithms for computing matrix functions are typically tested by comparing the forward error with the product of the condition number and the unit roundoff. The forward error is computed with the aid of a reference solution, typically computed at high precision. An alternative approach is to use functional identities such as the “round-trip tests” e log A = A and ( A 1/ p ) p = A , as are currently employed in a SciPy test module. We show how a linearized perturbation analysis for a functional identity allows the determination of a maximum residual consistent with backward stability of the constituent matrix function evaluations. Comparison of this maximum residual with a computed residual provides a necessary test for backward stability. We also show how the actual linearized backward error for these relations can be computed. Our approach makes use of Fréchet derivatives and estimates of their norms. Numerical experiments show that the proposed approaches are able both to detect instability and to confirm stability.
Edvin Deadman, Nicholas J. Higham
ACM Trans. Math. Softw.2
2013 NLEVP: A Collection of Nonlinear Eigenvalue Problems
abstract
We present a collection of 52 nonlinear eigenvalue problems in the form of a MATLAB toolbox. The collection contains problems from models of real-life applications as well as ones constructed specifically to have particular properties. A classification is given of polynomial eigenvalue problems according to their structural properties. Identifiers based on these and other properties can be used to extract particular types of problems from the collection. A brief description of each problem is given. NLEVP serves both to illustrate the tremendous variety of applications of nonlinear eigenvalue problems and to provide representative problems for testing, tuning, and benchmarking of algorithms and codes.
Timo Betcke, Nicholas J. Higham, Volker Mehrmann, Françoise Tisseur
ACM Trans. Math. Softw.2
2013 Reducing the influence of tiny normwise relative errors on performance profiles
abstract
It is a widespread but little-noticed phenomenon that the normwise relative error ‖ x - y ‖/‖ x ‖ of vectors x and y of floating point numbers of the same precision, where y is an approximation to x , can be many orders of magnitude smaller than the unit roundoff. We analyze this phenomenon and show that in the ∞-norm it happens precisely when x has components of widely varying magnitude and every component of x of largest magnitude agrees with the corresponding component of y . Performance profiles are a popular way to compare competing algorithms according to particular measures of performance. We show that performance profiles based on normwise relative errors can give a misleading impression due to the influence of zero or tiny normwise relative errors. We propose a transformation that reduces the influence of these extreme errors in a controlled manner, while preserving the monotonicity of the underlying data and leaving the performance profile unchanged at its left end-point. Numerical examples with both artificial and genuine data illustrate the benefits of the transformation.
Nicholas J. Dingle, Nicholas J. Higham
ACM Trans. Math. Softw.2
2001 Parallel Implementation of a Block Algorithm for Matrix 1-Norm Estimation
Sheung Hun Cheng, Nicholas J. Higham
Euro-Par2
1994 A Parallel Algorithm for Computing the Polar Decomposition
Nicholas J. Higham, Pythagoras Papadimitriou
Parallel Comput.1
1992 Stability of block algorithms with fast level-3 BLAS
abstract
Block algorithms are becoming increasingly popular in matrix computations. Since their basic unit of data is a submatrix rather than a scalar, they have a higher level of granularity than point algorithms, and this makes them well suited to high-performance computers. The numerical stability of the block algorithms in the new linear algebra program library LAPACK is investigated here. It is shown that these algorithms have backward error analyses in which the backward error bounds are commensurate with the error bounds for the underlying level-3 BLAS (BLAS3). One implication is that the block algorithms are as stable as the corresponding point algorithms when conventional BLAS3 are used. A second implication is that the use of BLAS3 based on fast matrix multiplication techniques affects the stability only insofar as it increases the constant terms in the normwise backward error bounds. For linear equation solvers employing LU factorization, it is shown that fixed precision iterative refinement helps to mitigate the effect of the larger error constants. Despite the positive results presented here, not all plausible block algorithms are stable; we illustrate this with the example of LU factorization with block triangular factors and describe how to check a block algorithm for stability without doing a full error analysis.
James Demmel, Nicholas J. Higham
ACM Trans. Math. Softw.2
1991 Algorithm 694: a collection of test matrices in MATLAB
abstract
Matrices in MATLABWe present a collection of 45 parametrized test matrices.The matrices are mostly square, dense, nonrandom, and of arbitrary dimension.The collection includes matrices with known inverses or known eigenvalues, ill-conditioned or rank deficient matrices, and symmetric, positive definite, orthogonal, defective, involuntary, and totally positive matrices.For each matrix we give a MATLABM-file that generates it.
Nicholas J. Higham
ACM Trans. Math. Softw.1
1990 Exploiting fast matrix multiplication within the level 3 BLAS
abstract
The Level 3 BLAS (BLAS3) are a set of specifications of FORTRAN 77 subprograms for carrying out matrix multiplications and the solution of triangular systems with multiple right-hand sides. They are intended to provide efficient and portable building blocks for linear algebra algorithms on high-performance computers. We describe algorithms for the BLAS3 operations that are asymptotically faster than the conventional ones. These algorithms are based on Strassen's method for fast matrix multiplication, which is now recognized to be a practically useful technique once matrix dimensions exceed about 100. We pay particular attention to the numerical stability of these “fast BLAS3.” Error bounds are given and their significance is explained and illustrated with the aid of numerical experiments. Our conclusion is that the fast BLAS3, although not as strongly stable as conventional implementations, are stable enough to merit careful consideration in many applications.
Nicholas J. Higham
ACM Trans. Math. Softw.1
1989 Algorithm 674: Fortran codes for estimating the one-norm of a real or complex matrix, with applications to condition estimation
abstract
We omitted giving this article an ACM algorithm number when it was first published in its entirety in the December 1988 issue of TOMS , Vol. 14, No. 4, pp. 381–396. To correct this, we do so here, and reprint the title as a pointer to the original article.
Nicholas J. Higham
ACM Trans. Math. Softw.1
1988 FORTRAN codes for estimating the one-norm of a real or complex matrix, with applications to condition estimation
abstract
FORTRAN 77 codes SONEST and CONEST are presented for estimating the 1-norm ( or the infinity-norm) of a real or complex matrix, respectively. The codes are of wide applicability in condition estimation since explicit access to the matrix, A , is not required; instead, matrix-vector products Ax and A T x are computed by the calling program via a reverse communication interface. The algorithms are based on a convex optimization method for estimating the 1-norm of a real matrix devised by Hager. We derive new results concerning the behavior of Hager's method, extend it to complex matrices, and make several algorithmic modifications in order to improve the reliability and efficiency.
Nicholas J. Higham
ACM Trans. Math. Softw.1