| R. Pozo, J. J. Dongarra, and D. W. Walker. Lapack++: a design overview of object-oriented extensions for high performance linear algebra. In Supercomputing '93: Proceedings of the 1993. |
....USA 1 Introduction Looking forward to developing new programs rather than backward at maintaining old programs, computational scientists are evaluating the effectiveness of object oriented methods. Much of the effort to date has concentrated on using a true object oriented language such as C [3]. Despite its reputation as the Latin of programming languages, Fortran, under its new definition as Fortran 90 95 and its future definition as Fortran 2000, contains many object oriented features. In particular, modules resemble classes, named derived types encapsulate data structures, and user ....
Jack J. Dongarra, Roldan Pozo, and David W. Walker. LAPACK++: A design overview of object-oriented extensions for high performance linear algebra. In Proceedings Supercomputing '93, Portland, Oregon, November 15-19,
....In order to present clear diagrams and discussions, the following aspects have been omitted: the class of the elements of matrices; constructors, and methods that query the attributes. The syntax for declaring attributes and methods is a relaxed Java like syntax. Library References LAPACK [37, 38, 32, 60] SparseLib and IML [30, 78, 31, 85, 53] Paladin [48, 49] JLAPACK [14, 15, 26] OwlPack [20, 19, 18, 24] MTL and ITL [80, 81, 83, 79, 82, 59, 58] PMLP [11, 12, 51] Di pack [17, 75] ISIS [2, 27] Sparspak or Sparspak90 [45] Oblio and Spindle [29, 28, 57] JAMA [68] Jampack [88, 25] ....
....been decided. In other words, a set of if then rules can be de ned. These rules test the matrix properties and storage formats of the operands and decide the corresponding implementation. The set of rules de ne a rule based reasoning system, or a complete decision tree. Dongarra, Pozo and Walker [37] refer to the rule based reasoning system as an intelligent course of action. Since an object of class ###### encapsulates its matrix properties and its storage format, the reasoning system can be hidden behind the representation of each basic matrix operation. In this way, users have the ....
[Article contains additional citation context not shown here]
J. J. Dongarra, R. Pozo, and D. W. Walker. LAPACK++: A design overview of object-oriented extensions for high performance linear algebra. In Proceedings of Supercomputing '93, pages 162-171. IEEE Computer Society Press, 1993.
....the specific application; this allows the user maximum flexibility. 1.2 The use of C in scientific computing Use of C in scientific computing, while by no means widespread, has increased over the last several years. For example, the designers of LAPACK [1] have provided a C interface (see [6]) The interface is based on a collection of vector and matrix classes; these classes have evolved over the past few years through several related packages: Sparselib [4] IML [5] and MV [20] due to Pozo and his collaborators. Currently a package called Template Numerical Toolkit (TNT) 21] ....
J. J. Dongarra, R. Pozo, and D. W. Walker. Lapack++: A design overview of objectoriented extensions for high performance linear algebra. In Proceedings of Supercomputing `93, pages 162--171, 1993.
....result = inner product(x2.begin( x2.end( x3.begin( 0.0) 3 The Matrix Template Library MTL is by no means the first attempt to bring abstraction to scientific programming [3] nor is it the first attempt at a mathematical library in C . Other notable efforts include HPC [20] LAPACK [9], SparseLib IML [8] and the Template Numerical Toolkit [16] MTL is unique, however, in its general underlying philosophy (see below) and in its particular commitment to self contained high performance. Other libraries, if they are concerned about performance at all, attain high performance ....
J. Dongarra, R. Pozo, and D. Walker, LAPACK++: A design overview of object-oriented extensions for high performance linear algebra, in Proc. Supercomputing '93, IEEE Press, 1993, pp. 162--171.
....In contrast to the PETSc approach, we apply C instead of C. Due to inherent mechanisms supporting OOP, the choice of using C leads to a much simpler implementation at the library level. Other impressive libraries include the IML (and SparseLib ) software [9, 19] the C extension Lapack [10] to the well recognized LAPACK library. C software for iterative solution of large, sparse linear systems have also been developed by Pommerell and co workers [18, 26, 27] Application of object oriented sparse matrix solvers to nite element problems are reported in [6, 31] In comparison with ....
....AEexibility of stand alone classes as well as a unied interface for all matrix formats. The latter feature is vital when implementing iterative solvers, for which the underlying matrix format is transparent. Such data transparency can be achieved by inheritance, such as in Diffpack and Lapack [10]. Alternatively, one may use class templates, e.g. as illustrated by IML [9, 19] On the other hand, the latter approach is less AEexible than the inheritance based design due to the static behaviour of templates. In contrast to a matrix hierarchy that allows run time specication of the matrix ....
J. Dongarra, R. Pozo, D. W. Walker, LAPACK++: A design overview of object-oriented extensions for high performance linear algebra. In [24], 1993.
....such as Smalltalk. Even though the performance was the mainstay of programming in this field, the need for more sophisticated programming (making maintenance easy) has become obvious especially since C implementations can provide speed and efficiency competitive with native FORTRAN codes [9]. One even does not need OOP language to implement the OOD principles. The Portable Extensible Toolkit for Scientific Computing (PETSc [4] is one excellent example a data structure neutral parallel library written in ANSI C. PETSc is designed around several components (e.g. Vec (vectors) Mat ....
J. J. Dongarra, R. Pozo, and D. W. Walker. LAPACK++ : A Design Overview of Object-Oriented Extensions for High Performance Linear Algebra. PrePrint.
....high performance. In addition, the use of expression templates was pioneered in Blitz . CHAPTER 3. RELATED WORK 16 Library OO ET Op Generative Template Numeric Toolkit (TNT) 47] X X C Scientific Library (SL ) 20] X X Generative Matrix Computation Library (GMCL) 16] X X X LAPACK [25] X Sparslib [26] X GNU Scientific Software Library (GNUSSL) 46] X Newmat [19] X X Table 3.1. Summary of C Libraries for Linear Algebra 3.4 Generic Programming and Software Engineering As already mentioned, the design of the MTL draws heavily from the Standard Template Library [52, 3] which ....
J. Dongarra, R. Pozo, and D. Walker. LAPACK++: A design overview of objectoriented extensions for high performance linear algebra. In Proceedings of Supercomputing ' 93, pages 162--171. IEEE Press, 1993. BIBLIOGRAPHY 100
....of object oriented programming languages, such as C , is beginning to dominate the software industry. Application areas such as user interfaces, data structures libraries, scientific computing and operating systems are seeing a replacement of procedural languages with object oriented languages [DPW93, CRJ87] This trend is due to advantages that come from object oriented developments (e.g. support for code re usability, improved code maintainability and enabling high levels of abstraction, etc. However, this programming paradigm does suffer from a performance overhead. Many studies have ....
J. Dongarra, R. Pozo, and D. Walker. LAPACK++: A design overview of object-oriented extensions for high performance linear algebra. In Proceedings of Supercomputing '93, pages 162--171, Nov 1993.
....standardization made such pursuits dicult. Nevertheless, approaches that allowed many of the advantages of object oriented design without sacri cing eciency were developed. LAPACK , a subset of the linear sys9 tems solvers in LAPACK written in C , was one of the rst such successful packages [18]. Today object oriented approaches are routinely used in scienti c computing. 2.6 Expanding vision By the 1990s, rapidly increasing computer power was leading to new visions for the future of mathematical software systems. During that period, for example, John Rice and colleagues led in the ....
J. Dongarra, R. Pozo, and D. Walker. LAPACK++: A design overview of object-oriented extensions for high performance linear algebra. In Proceedings of Supercomputing '93, pages 162-171. IEEE Computer Society, 1993. See also http://www.netlib.org/lapack++/.
....these papers deal with hierarchical implementations of multiple storage schemes, as well as the use of templates, i.e. parameterization with respect to the data type used for the matrix entries. For other discussions and alternative views of objectoriented linear algebra tools, see for instance [9 11], as well the documentation of existing commercial packages like M [12] and LAPACK [21] Several authors have also discussed software abstractions for numerical linear algbra in a finite element setting, see for instance [6, 14,19, 23] 1.4 Flexible user interfaces When writing application ....
J. Dongarra, R. Pozo, and D. W. Walker. LAPACK++: A design overview of object-oriented extensions for high performance linear algebra. In [17].
....from Birchenhall [Bir93] nor newmat07 from Davies [Dav94] support this type of reference. A matrix class that did appear to meet most of the computational needs of the system, including support for array indexing with a stride, was the LAPACK matrix class from Dongarra, Pozo, and Walker [DPW93] It was decided, however, that by developing a matrix class in conjunction with the C code generator, it could both be tailored to meet the needs of the FALCON environment and to allow the exploration of other issues, such as the improvement of the allocation and reallocation of data. The ....
Jack J. Dongarra, Roldan Pozo, and David W. Walker. LAPACK++: A Design Overview of Object-Oriented Extensions for High-Performance Linear Algebra. University of Tennessee, 1993.
....approach, we apply C instead of C. Due to inherent mechanisms supporting OOP, the choice of using C leads to a much simpler implementation at the library level. Other impressive libraries include the IML (and SparseLib ) software [Dongarra et al. 1994; IML ] the C extension Lapack [Dongarra et al. 1993] to the well recognized LAPACK library. C software for iterative solution of large, sparse linear systems have also been developed by Pommerell and co workers [Heiser et al. 1991; Pommerell et al. 1992; Pommerell and Fichther 1991] Application of object oriented sparse matrix solvers to finite ....
....flexibility of stand alone classes as well as a unified interface for all matrix formats. The latter feature is vital when implementing iterative solvers, for which the underlying matrix format is transparent. Such data transparency can be achieved by inheritance, such as in Diffpack and Lapack [Dongarra et al. 1993]. Alternatively, one may use class templates, e.g. as illustrated by IML [Dongarra et al. 1994; IML ] On the other hand, the latter approach is less flexible than the inheritance based design due to the static behaviour of templates. In contrast to a matrix hierarchy that allows run time ....
Dongarra, J. J., Pozo, R., and Walker, D. W. 1993. LAPACK++: A design overview of object-oriented extensions for high performance linear algebra. In Proceedings of OONSKI '93 (1993).
....information as easily as a native language type. Hierarchies of interrelated objects frequently are constructed, such as the now classic examples of drawing a shape on a graphics output device, or arrays of objects manipulated as single, aggregate objects, such as array and matrix class libraries[5, 15, 8], which can provide the functionality described by Golub[10] The C language provides for the creation of complicated, composite objects automatically by implicitly calling the necessary constructors for the object and all of its constituent pieces in the appropriate order, and a symmetric ....
J.J. Dongarra, R. Pozo, and D. Walker. Lapack ++: A Design Overview of Object-Oriented Extensions for High Performance Linear Algebra. Technical report, Oak Ridge National Laboratory, 1993.
.... of C and FORTRAN programs [9, 10] More recently, object oriented programming, and specifically the language C , has become widely used and is replacing procedural languages such as C in a number of application areas including user interfaces, data structure libraries, scientific computing [11], and operating systems [12] While the C language is a superset of C, additional features provided in the language support a programming style that is very different from that of programming in C. Before conducting the research reported in this paper, our hypothesis was that C programs behave ....
....[13, 35] The C language was designed to be very efficient, introducing additional costs only when specific features (such as dynamic dispatch) are used. For example, careful design has produced a numerical library that can be used from C that is as efficient as a related FORTRAN library [11], and efficient operating systems have been written in C [12] In many cases, C programmers eschew expensive features, such as dynamic dispatch to achieve this efficiency. Optimizations that eliminate or reduce these costs will simplify software design in C . 4.5 Branch and Indirect Call ....
Jack Dongarra, Roldan Pozo, and David Walker. LAPACK++: A design overview of object-oriented extensions for high performance linear algebra. In Proceedings Supercomputing '93, pages 162--171. IEEE Press, November 1993.
....the directions of our ongoing research. 2 Previous Work The simplest simulation frameworks come as libraries dedicated to a limited range of operations, such as geometrical modelling [1] linear algebra [2] or visualization [3] Object oriented libraries such as Diffpack [5] or LAPACK [6] provide a more abstract application programming interface (API) by which the user can represent simulation concepts as objects. Specification of complex simulations can be however only partially done by such libraries. Besides modelling the simulation s entities by objects, the programmer should ....
J. J. Dongarra, R. Pozo, D. Walker, LAPACK++: A Design Overview of Object-Oriented Extensions for High Performance Linear Algebra, Proceedings of Supercomputing '93, IEEE Press, 1993, 162--171.
....required for a general sparse matrix vector multiply operation. Note that either case uses the same templated algorithm as in sequential execution except the matrix vector classes. 4 Related Work Many efforts andworks for the object oriented numerical computations are found including LAPACK [2], Sparselib [15] IML [16] TNT[9] HPC [5] AVTL[10] and A P [8] The LAPACK [2] provides C interface to LAPACK high performance linear algebra library written in FORTRAN. SparseLib is a C class library for efficient sparse matrix computations based on Sparse BLAS. MV is a ....
....uses the same templated algorithm as in sequential execution except the matrix vector classes. 4 Related Work Many efforts andworks for the object oriented numerical computations are found including LAPACK [2] Sparselib [15] IML [16] TNT[9] HPC [5] AVTL[10] and A P [8] The LAPACK [2] provides C interface to LAPACK high performance linear algebra library written in FORTRAN. SparseLib is a C class library for efficient sparse matrix computations based on Sparse BLAS. MV is a matrix vector class library, which is used for templated iterative solver library, IML . ....
J.J Dongarra, R. Pozo, and D.W. Walker. LAPACK++: A Design Overview of Object-Oriented Extensions for High Performance Linear Algebra, Proc. of Supercomputing 93, pp. 162-171, 1993.
....matrix classes which are available include newmat07 [Dav94] MatClass [Bir93] and Matrix [TD94] The second set of matrix classes are those that were defined for a specific problem type or interface. For instance, AMR [BLQ92] was designed to support adaptive mesh refinement and both LAPACK [DPW93a] and Lapack.h [Ver93] were designed to provide the functionality of the LAPACK library. These classes do not provide all of the functionalities of the general purpose matrix classes, such as support for multi dimensional arrays or functions to compute trigonometric operations. They are used, ....
....from Birchenhall [Bir93] nor newmat07 from Davies [Dav94] support this type of reference. A matrix class that did appear to meet most of the computational needs of the system, including support for array indexing with a stride, was the LAPACK matrix class from Dongarra, Pozo, and Walker [DPW93a] It was decided, however, that by developing a matrix class in conjunction with the C code generator, it could both be tailored to meet the needs of the FALCON environment and to allow the exploration of other issues, such as the improvement of the allocation and reallocation of data. The ....
Jack J. Dongarra, Roldan Pozo, and David W. Walker. LAPACK++: A Design Overview of Object-Oriented Extensions for High-Performance Linear Algebra. University of Tennessee, 1993.
....by the C interface is minimal because there is no extra data copying, nor is the function call overhead significant, particularly when compared to the granularity of communication routines in message passing architectures. For single node performance, we have tested various prototype LAPACK [13] modules on several architectures and found that they achieve competitive performance with similar optimized Fortran LAPACK routines. Figure 4, for example, illustrates the performance of the LU factorization routine on an IBM RS 6000 Model 550 workstation. Three versions are compared: the native ....
D. W. Walker J. J. Dongarra, R. Pozo. Design overview of object-oriented extensions for high performance linear algebra. In Proceedings of Supercomputing '93, 1993.
No context found.
J. J. Dongarra, R. Pozo, D. W. Walker, LAPACK++: A Design Overview of Object-Oriented Extensions for High Performance Linear Algebra, Computer Science Technical Report, University of Tennessee, 1993.
....algebra computations in C across various computer architectures. The design scope of LAPACK includes direct solvers for linear equations, linear least squares, and various matrix factorizations for dense and banded systems. LAPACK is the product of several ongoing research projects: See [6] for a complete design overview of LAPACK and object oriented issues, and [3] 5] for issues of LAPACK on distributed memory architectures. The framework of LAPACK is based on the LAPACK [1] library. Both LAPACK and LAPACK are freely available in source code form from the ....
....Fortran LAPACK codes. For example, a recent test on IBM RS 6000 workstation showed both packages obtaining speeds of 50 Mflops for matrices of size 300x300 and larger. This is not surprising, since the both utilize the same optimized Level 3 BLAS routines for the computationintensive sections. See [6] for more performance details. 6.2 Do I need a Fortran compiler to use LAPACK No, you can use the C version of LAPACK available from netlib. 6.3 Why are the LAPACK matrix classes not templated There is a templated vector example template v.h in the LAPACK INCLUDE subdirectory. This ....
J. J. Dongarra, R. Pozo, D. W. Walker, LAPACK++: A Design Overview of Object-Oriented Extensions for High Performance Linear Algebra, Computer Science Technical Report, University of Tennessee, 1993.
....by the C interface is minimal because there is no extra data copying, nor is the function call overhead significant, particularly when compared to the granularity of communication routines in message passing architectures. For single node performance, we have tested various prototype LAPACK (Dongarra et al. 1993) modules on several architectures and found that they achieve competitive performance with similar optimized Fortran LAPACK routines. Figure 4, for example, illustrates the performance of the LU factorization routine on an IBM RS 6000 Model 550 workstation. Three versions are compared: the native ....
....researchers from universities, government laboratories, and industry. The CRPC sponsored the first workshop leading to the development of the MPI draft standard in April 1992 (Walker 1992) and a preliminary draft proposal was put forward by Dongarra, Hempel, Hey, and Walker to foster discussion (Dongarra et al. 1993). A standard message passing interface is a key component in building a concurrent computing environment in which applications, software libraries, and tools can be transparently ported between different machines. MPI provides a number of features that are useful in the design of parallel software ....
Dongarra, J. J., R. Pozo, and D. W. Walker (1993). Design overview of object-oriented extensions for high performance linear algebra. In Proceedings of Supercomputing '93.
No context found.
R. Pozo, J. J. Dongarra, and D. W. Walker. Lapack++: a design overview of object-oriented extensions for high performance linear algebra. In Supercomputing '93: Proceedings of the 1993.
No context found.
J. J. Dongarra, R. Pozo, and D. W. Walker. LAPACK++: A design overview of object-oriented extensions for high performance linear algebra. In Proceedings of Supercomputing '93, pages 162--171. IEEE Computer Society Press, 1993.
No context found.
J.J. Dongarra, R. Pozo, D. W. Walker, A design overview of objectoriented extensions for high performance linear algebra, Computer Science Technical Report, University of Tennesse, 1993.
No context found.
J. J. Dongarra, R. Pozo, and D. Walker, LAPACK++: A Design Overview of Object-Oriented Extensions for High Performance Linear Algebra, Proceedings of Supercomputing '93, Portland, Oregon, November 1993.
First 50 documents
Online articles have much greater impact More about CiteSeer.IST Add search form to your site Submit documents Feedback
CiteSeer.IST - Copyright Penn State and NEC