
John ReidScience and Technology Facilities Council | STFC · Rutherford Appleton Laboratory
John Reid
D. Phil. Oxford
About
229
Publications
13,427
Reads
How we measure 'reads'
A 'read' is counted each time someone views a publication summary (such as the title, abstract, and list of authors), clicks on a figure, or views or downloads the full-text. Learn more
7,840
Citations
Introduction
Skills and Expertise
Additional affiliations
September 1990 - January 2016
Publications
Publications (229)
Fortran remains one of the principal programming languages used in high-performance scientific, numerical, and engineering computing. The language as defined by its most recent standards, with their introduction of object-oriented programming and of coarrays, is often referred to generically as ‘Modern Fortran’, and this term is increasingly used i...
Fortran remains one of the principal programming languages used in high-performance scientific, numerical, and engineering computing. The language as defined by its most recent standards, with their introduction of object-oriented programming and of coarrays, is often referred to generically as ‘Modern Fortran’, and this term is increasingly used i...
Fortran remains one of the principal programming languages used in high-performance scientific, numerical, and engineering computing. The language as defined by its most recent standards, with their introduction of object-oriented programming and of coarrays, is often referred to generically as ‘Modern Fortran’, and this term is increasingly used i...
Fortran remains one of the principal programming languages used in high-performance scientific, numerical, and engineering computing. The language as defined by its most recent standards, with their introduction of object-oriented programming and of coarrays, is often referred to generically as ‘Modern Fortran’, and this term is increasingly used i...
Fortran remains one of the principal programming languages used in high-performance scientific, numerical, and engineering computing. The language as defined by its most recent standards, with their introduction of object-oriented programming and of coarrays, is often referred to generically as ‘Modern Fortran’, and this term is increasingly used i...
Fortran remains one of the principal programming languages used in high-performance scientific, numerical, and engineering computing. The language as defined by its most recent standards, with their introduction of object-oriented programming and of coarrays, is often referred to generically as ‘Modern Fortran’, and this term is increasingly used i...
Fortran remains one of the principal programming languages used in high-performance scientific, numerical, and engineering computing. The language as defined by its most recent standards, with their introduction of object-oriented programming and of coarrays, is often referred to generically as ‘Modern Fortran’, and this term is increasingly used i...
Fortran remains one of the principal programming languages used in high-performance scientific, numerical, and engineering computing. The language as defined by its most recent standards, with their introduction of object-oriented programming and of coarrays, is often referred to generically as ‘Modern Fortran’, and this term is increasingly used i...
Fortran remains one of the principal programming languages used in high-performance scientific, numerical, and engineering computing. The language as defined by its most recent standards, with their introduction of object-oriented programming and of coarrays, is often referred to generically as ‘Modern Fortran’, and this term is increasingly used i...
Fortran remains one of the principal programming languages used in high-performance scientific, numerical, and engineering computing. The language as defined by its most recent standards, with their introduction of object-oriented programming and of coarrays, is often referred to generically as ‘Modern Fortran’, and this term is increasingly used i...
Fortran remains one of the principal programming languages used in high-performance scientific, numerical, and engineering computing. The language as defined by its most recent standards, with their introduction of object-oriented programming and of coarrays, is often referred to generically as ‘Modern Fortran’, and this term is increasingly used i...
Fortran remains one of the principal programming languages used in high-performance scientific, numerical, and engineering computing. The language as defined by its most recent standards, with their introduction of object-oriented programming and of coarrays, is often referred to generically as ‘Modern Fortran’, and this term is increasingly used i...
Fortran remains one of the principal programming languages used in high-performance scientific, numerical, and engineering computing. The language as defined by its most recent standards, with their introduction of object-oriented programming and of coarrays, is often referred to generically as ‘Modern Fortran’, and this term is increasingly used i...
Fortran remains one of the principal programming languages used in high-performance scientific, numerical, and engineering computing. The language as defined by its most recent standards, with their introduction of object-oriented programming and of coarrays, is often referred to generically as ‘Modern Fortran’, and this term is increasingly used i...
Fortran remains one of the principal programming languages used in high-performance scientific, numerical, and engineering computing. The language as defined by its most recent standards, with their introduction of object-oriented programming and of coarrays, is often referred to generically as ‘Modern Fortran’, and this term is increasingly used i...
Fortran remains one of the principal programming languages used in high-performance scientific, numerical, and engineering computing. The language as defined by its most recent standards, with their introduction of object-oriented programming and of coarrays, is often referred to generically as ‘Modern Fortran’, and this term is increasingly used i...
Fortran remains one of the principal programming languages used in high-performance scientific, numerical, and engineering computing. The language as defined by its most recent standards, with their introduction of object-oriented programming and of coarrays, is often referred to generically as ‘Modern Fortran’, and this term is increasingly used i...
Fortran remains one of the principal programming languages used in high-performance scientific, numerical, and engineering computing. The language as defined by its most recent standards, with their introduction of object-oriented programming and of coarrays, is often referred to generically as ‘Modern Fortran’, and this term is increasingly used i...
Fortran remains one of the principal programming languages used in high-performance scientific, numerical, and engineering computing. The language as defined by its most recent standards, with their introduction of object-oriented programming and of coarrays, is often referred to generically as ‘Modern Fortran’, and this term is increasingly used i...
Fortran remains one of the principal programming languages used in high-performance scientific, numerical, and engineering computing. The language as defined by its most recent standards, with their introduction of object-oriented programming and of coarrays, is often referred to generically as ‘Modern Fortran’, and this term is increasingly used i...
Fortran remains one of the principal programming languages used in high-performance scientific, numerical, and engineering computing. The language as defined by its most recent standards, with their introduction of object-oriented programming and of coarrays, is often referred to generically as ‘Modern Fortran’, and this term is increasingly used i...
Fortran remains one of the principal programming languages used in high-performance scientific, numerical, and engineering computing. The language as defined by its most recent standards, with their introduction of object-oriented programming and of coarrays, is often referred to generically as ‘Modern Fortran’, and this term is increasingly used i...
Fortran remains one of the principal programming languages used in high-performance scientific, numerical, and engineering computing. The language as defined by its most recent standards, with their introduction of object-oriented programming and of coarrays, is often referred to generically as ‘Modern Fortran’, and this term is increasingly used i...
Fortran remains one of the principal programming languages used in high-performance scientific, numerical, and engineering computing. The language as defined by its most recent standards, with their introduction of object-oriented programming and of coarrays, is often referred to generically as ‘Modern Fortran’, and this term is increasingly used i...
Fortran remains one of the principal programming languages used in high-performance scientific, numerical, and engineering computing. The language as defined by its most recent standards, with their introduction of object-oriented programming and of coarrays, is often referred to generically as ‘Modern Fortran’, and this term is increasingly used i...
Fortran remains one of the principal programming languages used in high-performance scientific, numerical, and engineering computing. The language as defined by its most recent standards, with their introduction of object-oriented programming and of coarrays, is often referred to generically as ‘Modern Fortran’, and this term is increasingly used i...
Fortran remains one of the principal programming languages used in high-performance scientific, numerical, and engineering computing. The language as defined by its most recent standards, with their introduction of object-oriented programming and of coarrays, is often referred to generically as ‘Modern Fortran’, and this term is increasingly used i...
Fortran remains one of the principal programming languages used in high-performance scientific, numerical, and engineering computing. The language as defined by its most recent standards, with their introduction of object-oriented programming and of coarrays, is often referred to generically as ‘Modern Fortran’, and this term is increasingly used i...
Fortran remains one of the principal programming languages used in high-performance scientific, numerical, and engineering computing. The language as defined by its most recent standards, with their introduction of object-oriented programming and of coarrays, is often referred to generically as ‘Modern Fortran’, and this term is increasingly used i...
Fortran remains one of the principal programming languages used in high-performance scientific, numerical, and engineering computing. The language as defined by its most recent standards, with their introduction of object-oriented programming and of coarrays, is often referred to generically as ‘Modern Fortran’, and this term is increasingly used i...
Fortran remains one of the principal languages used in scientific, numerical and engineering programming and a series of revisions to the standard versions of the language have progressively enhanced its power. The latest standard-Fortran 2003-greatly extends the power of the language, by introducing object-oriented concepts, interoperability with...
Fortran marches on, remaining one of the principal programming languages used in high-performance scientific, numerical, and engineering computing. A series of significant revisions to the standard versions of the language have progressively enhanced its capabilities, and the latest standard—Fortran 2018—includes many additions and improvements. Th...
Fortran marches on, remaining one of the principal programming languages used in high-performance scientific, numerical, and engineering computing. A series of significant revisions to the standard versions of the language have progressively enhanced its capabilities, and the latest standard—Fortran 2018—includes many additions and improvements. Th...
Fortran marches on, remaining one of the principal programming languages used in high-performance scientific, numerical, and engineering computing. A series of significant revisions to the standard versions of the language have progressively enhanced its capabilities, and the latest standard—Fortran 2018—includes many additions and improvements. Th...
Fortran marches on, remaining one of the principal programming languages used in high-performance scientific, numerical, and engineering computing. A series of significant revisions to the standard versions of the language have progressively enhanced its capabilities, and the latest standard—Fortran 2018—includes many additions and improvements. Th...
Fortran marches on, remaining one of the principal programming languages used in high-performance scientific, numerical, and engineering computing. A series of significant revisions to the standard versions of the language have progressively enhanced its capabilities, and the latest standard—Fortran 2018—includes many additions and improvements. Th...
Fortran marches on, remaining one of the principal programming languages used in high-performance scientific, numerical, and engineering computing. A series of significant revisions to the standard versions of the language have progressively enhanced its capabilities, and the latest standard—Fortran 2018—includes many additions and improvements. Th...
Fortran marches on, remaining one of the principal programming languages used in high-performance scientific, numerical, and engineering computing. A series of significant revisions to the standard versions of the language have progressively enhanced its capabilities, and the latest standard—Fortran 2018—includes many additions and improvements. Th...
Fortran marches on, remaining one of the principal programming languages used in high-performance scientific, numerical, and engineering computing. A series of significant revisions to the standard versions of the language have progressively enhanced its capabilities, and the latest standard—Fortran 2018—includes many additions and improvements. Th...
Fortran marches on, remaining one of the principal programming languages used in high-performance scientific, numerical, and engineering computing. A series of significant revisions to the standard versions of the language have progressively enhanced its capabilities, and the latest standard—Fortran 2018—includes many additions and improvements. Th...
Fortran marches on, remaining one of the principal programming languages used in high-performance scientific, numerical, and engineering computing. A series of significant revisions to the standard versions of the language have progressively enhanced its capabilities, and the latest standard—Fortran 2018—includes many additions and improvements. Th...
Fortran marches on, remaining one of the principal programming languages used in high-performance scientific, numerical, and engineering computing. A series of significant revisions to the standard versions of the language have progressively enhanced its capabilities, and the latest standard—Fortran 2018—includes many additions and improvements. Th...
Fortran marches on, remaining one of the principal programming languages used in high-performance scientific, numerical, and engineering computing. A series of significant revisions to the standard versions of the language have progressively enhanced its capabilities, and the latest standard—Fortran 2018—includes many additions and improvements. Th...
Fortran marches on, remaining one of the principal programming languages used in high-performance scientific, numerical, and engineering computing. A series of significant revisions to the standard versions of the language have progressively enhanced its capabilities, and the latest standard—Fortran 2018—includes many additions and improvements. Th...
Fortran marches on, remaining one of the principal programming languages used in high-performance scientific, numerical, and engineering computing. A series of significant revisions to the standard versions of the language have progressively enhanced its capabilities, and the latest standard—Fortran 2018—includes many additions and improvements. Th...
Fortran marches on, remaining one of the principal programming languages used in high-performance scientific, numerical, and engineering computing. A series of significant revisions to the standard versions of the language have progressively enhanced its capabilities, and the latest standard—Fortran 2018—includes many additions and improvements. Th...
Fortran marches on, remaining one of the principal programming languages used in high-performance scientific, numerical, and engineering computing. A series of significant revisions to the standard versions of the language have progressively enhanced its capabilities, and the latest standard—Fortran 2018—includes many additions and improvements. Th...
Fortran marches on, remaining one of the principal programming languages used in high-performance scientific, numerical, and engineering computing. A series of significant revisions to the standard versions of the language have progressively enhanced its capabilities, and the latest standard—Fortran 2018—includes many additions and improvements. Th...
Fortran marches on, remaining one of the principal programming languages used in high-performance scientific, numerical, and engineering computing. A series of significant revisions to the standard versions of the language have progressively enhanced its capabilities, and the latest standard—Fortran 2018—includes many additions and improvements. Th...
Fortran marches on, remaining one of the principal programming languages used in high-performance scientific, numerical, and engineering computing. A series of significant revisions to the standard versions of the language have progressively enhanced its capabilities, and the latest standard—Fortran 2018—includes many additions and improvements. Th...
Fortran marches on, remaining one of the principal programming languages used in high-performance scientific, numerical, and engineering computing. A series of significant revisions to the standard versions of the language have progressively enhanced its capabilities, and the latest standard—Fortran 2018—includes many additions and improvements. Th...
Fortran marches on, remaining one of the principal programming languages used in high-performance scientific, numerical, and engineering computing. A series of significant revisions to the standard versions of the language have progressively enhanced its capabilities, and the latest standard—Fortran 2018—includes many additions and improvements. Th...
Fortran marches on, remaining one of the principal programming languages used in high-performance scientific, numerical, and engineering computing. A series of significant revisions to the standard versions of the language have progressively enhanced its capabilities, and the latest standard—Fortran 2018—includes many additions and improvements. Th...
Fortran marches on, remaining one of the principal programming languages used in high-performance scientific, numerical, and engineering computing. A series of significant revisions to the standard versions of the language have progressively enhanced its capabilities, and the latest standard—Fortran 2018—includes many additions and improvements. Th...
Fortran marches on, remaining one of the principal programming languages used in high-performance scientific, numerical, and engineering computing. A series of significant revisions to the standard versions of the language have progressively enhanced its capabilities, and the latest standard—Fortran 2018—includes many additions and improvements. Th...
Fortran marches on, remaining one of the principal programming languages used in high-performance scientific, numerical, and engineering computing. A series of significant revisions to the standard versions of the language have progressively enhanced its capabilities, and the latest standard—Fortran 2018—includes many additions and improvements. Th...
Fortran marches on, remaining one of the principal programming languages used in high-performance scientific, numerical, and engineering computing. A series of significant revisions to the standard versions of the language have progressively enhanced its capabilities, and the latest standard—Fortran 2018—includes many additions and improvements. Th...
Fortran marches on, remaining one of the principal programming languages used in high-performance scientific, numerical, and engineering computing. A series of significant revisions to the standard versions of the language have progressively enhanced its capabilities, and the latest standard—Fortran 2018—includes many additions and improvements. Th...
Fortran marches on, remaining one of the principal programming languages used in high-performance scientific, numerical, and engineering computing. A series of significant revisions to the standard versions of the language have progressively enhanced its capabilities, and the latest standard—Fortran 2018—includes many additions and improvements. Th...
Direct Methods for Sparse Matrices, second edition, is a complete rewrite of the first edition published 30 years ago. Much has changed since that time. Problems have grown greatly in size and complexity; nearly all our examples were of order less than 5,000 in the first edition, and are often more than a million in the second edition. Computer arc...
Direct Methods for Sparse Matrices, second edition, is a complete rewrite of the first edition published 30 years ago. Much has changed since that time. Problems have grown greatly in size and complexity; nearly all our examples were of order less than 5,000 in the first edition, and are often more than a million in the second edition. Computer arc...
Direct Methods for Sparse Matrices, second edition, is a complete rewrite of the first edition published 30 years ago. Much has changed since that time. Problems have grown greatly in size and complexity; nearly all our examples were of order less than 5,000 in the first edition, and are often more than a million in the second edition. Computer arc...
Direct Methods for Sparse Matrices, second edition, is a complete rewrite of the first edition published 30 years ago. Much has changed since that time. Problems have grown greatly in size and complexity; nearly all our examples were of order less than 5,000 in the first edition, and are often more than a million in the second edition. Computer arc...
Direct Methods for Sparse Matrices, second edition, is a complete rewrite of the first edition published 30 years ago. Much has changed since that time. Problems have grown greatly in size and complexity; nearly all our examples were of order less than 5,000 in the first edition, and are often more than a million in the second edition. Computer arc...
Direct Methods for Sparse Matrices, second edition, is a complete rewrite of the first edition published 30 years ago. Much has changed since that time. Problems have grown greatly in size and complexity; nearly all our examples were of order less than 5,000 in the first edition, and are often more than a million in the second edition. Computer arc...
Direct Methods for Sparse Matrices, second edition, is a complete rewrite of the first edition published 30 years ago. Much has changed since that time. Problems have grown greatly in size and complexity; nearly all our examples were of order less than 5,000 in the first edition, and are often more than a million in the second edition. Computer arc...
Direct Methods for Sparse Matrices, second edition, is a complete rewrite of the first edition published 30 years ago. Much has changed since that time. Problems have grown greatly in size and complexity; nearly all our examples were of order less than 5,000 in the first edition, and are often more than a million in the second edition. Computer arc...
Direct Methods for Sparse Matrices, second edition, is a complete rewrite of the first edition published 30 years ago. Much has changed since that time. Problems have grown greatly in size and complexity; nearly all our examples were of order less than 5,000 in the first edition, and are often more than a million in the second edition. Computer arc...
Direct Methods for Sparse Matrices, second edition, is a complete rewrite of the first edition published 30 years ago. Much has changed since that time. Problems have grown greatly in size and complexity; nearly all our examples were of order less than 5,000 in the first edition, and are often more than a million in the second edition. Computer arc...
Direct Methods for Sparse Matrices, second edition, is a complete rewrite of the first edition published 30 years ago. Much has changed since that time. Problems have grown greatly in size and complexity; nearly all our examples were of order less than 5,000 in the first edition, and are often more than a million in the second edition. Computer arc...
Direct Methods for Sparse Matrices, second edition, is a complete rewrite of the first edition published 30 years ago. Much has changed since that time. Problems have grown greatly in size and complexity; nearly all our examples were of order less than 5,000 in the first edition, and are often more than a million in the second edition. Computer arc...
Direct Methods for Sparse Matrices, second edition, is a complete rewrite of the first edition published 30 years ago. Much has changed since that time. Problems have grown greatly in size and complexity; nearly all our examples were of order less than 5,000 in the first edition, and are often more than a million in the second edition. Computer arc...
Direct Methods for Sparse Matrices, second edition, is a complete rewrite of the first edition published 30 years ago. Much has changed since that time. Problems have grown greatly in size and complexity; nearly all our examples were of order less than 5,000 in the first edition, and are often more than a million in the second edition. Computer arc...
Direct Methods for Sparse Matrices, second edition, is a complete rewrite of the first edition published 30 years ago. Much has changed since that time. Problems have grown greatly in size and complexity; nearly all our examples were of order less than 5,000 in the first edition, and are often more than a million in the second edition. Computer arc...
Direct Methods for Sparse Matrices, second edition, is a complete rewrite of the first edition published 30 years ago. Much has changed since that time. Problems have grown greatly in size and complexity; nearly all our examples were of order less than 5,000 in the first edition, and are often more than a million in the second edition. Computer arc...
Direct Methods for Sparse Matrices, second edition, is a complete rewrite of the first edition published 30 years ago. Much has changed since that time. Problems have grown greatly in size and complexity; nearly all our examples were of order less than 5,000 in the first edition, and are often more than a million in the second edition. Computer arc...
Direct Methods for Sparse Matrices, second edition, is a complete rewrite of the first edition published 30 years ago. Much has changed since that time. Problems have grown greatly in size and complexity; nearly all our examples were of order less than 5,000 in the first edition, and are often more than a million in the second edition. Computer arc...
At the heart of a frontal or multifrontal solver for the solution of sparse symmetric sets of linear equations, there is the need to partially factorize dense matrices (the frontal matrices) and to be able to use their factorizations in subsequent forward and backward substitutions. For a large problem, packing (holding only the lower or upper tria...
The rapid emergence of multicore machines has led to the need to design new algorithms that are efficient on these architectures. Here, we consider the solution of sparse symmetric positive-definitive linear systems by Cholesky factorization. We were motivated by the successful division of the computation in the dense case into tasks on blocks and...
In 1998, Numrich and Reid proposed Coarray Fortran as a simple set of extensions to Fortran 95 [7]. Their principal extension to Fortran was support for shared data known as coarrays. In 2005, the Fortran Standards Committee began exploring the ...
Direct methods for solving large sparse linear systems of equations are popular because of their generality and robustness. Their main weakness is that the memory they require usually increases rapidly with problem size. We discuss the design and development of the first release of a new symmetric direct solver that aims to circumvent this limitati...
Fortran_Virtual_Memory is a Fortran 95 package that provides facilities for reading from and writing to direct-access files. A buffer is used to avoid actual input/output operations whenever possible. The data may be spread over many files and for very large data sets these may be held on more than one device. We describe the design of Fortran_Virt...
In many applications where the efficient solution of large sparse linear systems of equations is required, a direct method is frequently the methos of choice. Unfortunately, direct methods have a potentially severe limitation: as the problem size grows, the memory needed generally increases rapidly. However the in-core memory requirements can be li...
Fortran_Virtual_Memory is a Fortran 95 package that provides facilities for reading from and writing to direct-access files. A buffer is used to avoid actual input/output operations whenever possible. The data may be spread over many files and for very large data sets these may be held on more than one device. We describe the design of Fortran_Virt...
In this paper, we describe the design and development of a new code for the solution of sparse symmetric positive-definite linear systems aimed primarily at multicore architectures. Our new Fortran 95/OpenMP code, HSL_MA67, is available as part of the sofware library HSL and extends to the sparse case the task DAG-based approach that is becoming po...
The aim of this paper is to summarize the new features of the draft Fortran 2008 standard (ISO/IEC 2008). We take as our starting point Fortran 2003 (ISO/IEC 2008). An official extension for enhanced module facilities (ISO/IEC 2005) that has been published as a Type 2 Technical Report (TR), and WG5 is committed to include this in Fortran 2008. For...
The aim of this paper is to summarize the new features of the Fortran 2003 standard (WG5 2004). We take as our starting point Fortran 95 plus the two official extensions (Cohen 2001, Reid 2001) that have been published as Type 2 Technical Reports (TRs). These provide features for
• Allocatable dummy arguments and type components, and
• Support for...
We present subroutines for the Cholesky factorization of a positive-definite symmetric matrix and for solving corresponding sets of linear equations. They exploit cache memory by using the block hybrid format proposed by the authors in a companion article. The matrix is packed into n ( n p 1)/2 real variables, and the speed is usually better than t...
The WG5 committee, at its meeting in Delft, May 2005, decided to include co-arrays in the next Fortran Standard. A Fortran program containing co-arrays is interpreted as if it were replicated a fixed number of times and all copies were executed asynchronously. Each copy has its own set of data objects and is called an image. The array syntax of For...
We present subroutines for the Cholesky factorization of a positive-definite symmetric matrix and for solving corresponding sets of linear equations. They exploit cache memory by using the block hybrid format proposed by the authors in a companion article. The matrix is packed into n(n + 1)/2 real variables, and the speed is usually better tha...
We present a modified version of the approximate minimum degree algorithms for preordering a matrix with a symmetric sparsity pattern prior to the numerical factorization. The modification is designed to improve the efficiency of the algorithm when some of the rows and columns have significantly more entries than the average for the matrix. Numeric...
Two important meetings for the next revision of Fortran were held recently. WG5 met jointly with J3 in Fairfax, Virginia, Feb. 13-17 and J3 met in Las Vegas, May 8-12.The framework was decided at last years' WG5 meeting and was not substantially changed at this year's WG5 meeting. Two large items (bits and intelligent macros) were left as do if tim...
Direct methods for solving large sparse linear systems of equations are popular because of their generality and robustness.
Their main weakness is that the memory they require increases rapidly with problem size. We discuss the design and development
of a new multifrontal solver that aims to circumvent this problem by allowing both the system matr...
For a sparse symmetric matrix, there has been much attention given to algorithms for reducing the bandwidth. As far as we can see, little has been done for the unsymmetric matrix A, which has distinct lower and upper bandwidths l and u. When Gaussian elimination with row interchanges is applied, the lower bandwidth is unaltered while the upper band...
We consider the efficient implementation of the Cholesky solution of symmetric positive-definite dense linear systems of equations using packed storage. We take the same starting point as that of LINPACK and LAPACK, with the upper (or lower) triangular part of the matrix stored by columns. Following LINPACK and LAPACK, we overwrite the given matrix...