Fourier transforms are used by a large number of customers at the Danish Computer Centre for Research and Education (UNI.C) in Lyngby, Denmark. Two excellent FFT Libraries are offered. The NAG Library [11, which is a general purpose numerical library, has powerful FFT subroutines in the chapter C06. The Siemens VP FFT Library [2, 3] has recently been installed for the UNI.C AMDAHL VP 1200 computer. The benchmarks clearly show a significant performance increase (in some cases by a factor of 3) with the new NAG Mark 15 Library as compared to the older NAG Mark 13, although this is offset by some loss of performance in other cases. The Siemens Library is shown to perform fastest for almost all cases studied.
This paper describes a proposal for Level 3 Basic Linear Algebra Subprograms (Level 3 BLAS). The Level 3 BLAS are targeted at matrix-matrix operations with the aim of providing more efficient, but portable, implementations of algorithms on high-performance computers, especially those with hierarchical memory and parallel processing capability.
ABSTRAC e propose to design and implement a transportable linear algebra library in Fortran 77 for efficient use on t c high-performance computers. The library is intended to provide a uniform set of subroutines to solve the mos ommon linear algebra problems and to run efficiently on a wide range of architectures. This library, which will a be freely accessible via computer network, not only will ease code development, make codes more portable mong machines of different architectures, and increase efficiency, but also will provide tools for evaluating p computer performance. The library will be based on the well-known and widely used LINPACK and EISPACK ackages for linear equation solving, eigenvalue problems, and linear least squares. LINPACK and EISPACK t d have provided an important infrastructure for scientific computing on serial machines, but they were no esigned to exploit the profusion of parallel and vector architectures now becoming available. We propose to s e restructure the algorithms in terms of calls to a small number of extended Basic Linear Algebra Subroutine ach of which implements a basic operation such as matrix multiplication, rank-matrix updates, and the solu-k l a tion of triangular systems. These operations can be optimized for each architecture, but the underlying numerica lgorithms will be the same for all machines.
This paper describes an extension to the set of Basic Linear Algebra Subprograms. The extensions are targeted at matrix-vector operations that should provide for efficient and portable implementations of algorithms for high-performance computers.
32 BLAS routines can be used to implement the preconditioning operation for several common preconditioners. It has also been shown that the eecient implementation of the Iterative BLAS kernels on vector computers often requires the use of assembly language. For those vector computers with a vector cache, assembly language can be used to reduce memory references by re-using vector operands in the cache. The selection of optimization strategy is thus dependent on the computer architecture. The need for optimization techniques that are dependent on the computer architecture supports the inclusion of these kernels in an Iterative BLAS library. A Fortran implementation of an iterative algorithm would not be optimally eecient across the range of vector computers that are available today. If the Fortran implementation contained calls to Iterative BLAS routines that were optimized for a range of vector computers, then this program would be eecient and portable across that range of computers. In all cases, m = p = p n. The three algorithms tested were the following: Alg. 1: Scalar method (treated as a single linear recursion) Alg. 2: Vector method (vectorized j loop) Alg. 3: Supervector method (i loop unrolled to a depth of eight) The vectors x and a were lled with random numbers in the range (0; 1). Each algorithm was run 20 times, and the average time was computed. The times are given in seconds. >From Table 7, it can be seen that the vectorized code is about 3 to 4 times faster than the scalar code for large n. The unrolled vectorized code is about twice as fast as the rolled vector code for large n. Thus, signiicant gains in speed were possible for the algorithm that exploited the vector registers of the Cray. 7 Conclusions Three sparse matrix storage formats were presented in this paper for representing sparse matrices: the diagonal format, the ELLPACK format, and the coordinate format. These storage formats were chosen on the basis of exibility for eeciently representing matrices of various structures and for the ease with which many of the operations involved in iterative algorithms can be vectorized. It has been shown that the matrix-vector multiplication operation can be expressed in terms of a set of computational kernels called the Iterative BLAS routines when the matrix is stored in any of these storage formats. It has also been shown that the Iterative 30 Here L j is a …