Title :
Scalable, extensible, and portable numerical libraries
Author :
Gropp, William ; Smith, Barry
Author_Institution :
Div. of Math. & Comput. Sci., Argonne Nat. Lab., IL, USA
Abstract :
Designing a scalable and portable numerical library requires consideration of many factors, including choice of parallel communication technology, data structures, and user interfaces. The PETSc library (Portable Extensible Tools for Scientific computing) makes use of modern software technology to provide a flexible and portable implementation. This paper discusses the use of a meta-communication layer (allowing the user to choose different transport layers such as MPI, p4, pvm, or vendor-specific libraries) for portability, an aggressive data-structure-neutral implementation that minimizes dependence on particular data structures (even vectors), permitting the library to adapt to the user rather than the other way around, and the separation of implementation language from user-interface language. Examples are presented
Keywords :
data structures; software portability; user interfaces; PETSc library; Portable Extensible Tools for Scientific computing; aggressive data-structure-neutral implementation; data structures; implementation language; meta-communication layer; parallel communication technology; portable numerical libraries; software portability; software technology; user interfaces; user-interface language; Application software; Assembly; Concurrent computing; Data structures; Mathematics; Portable computers; Programming profession; Scientific computing; Software libraries; Sparse matrices;
Conference_Titel :
Scalable Parallel Libraries Conference, 1993., Proceedings of the
Conference_Location :
Mississippi State, MS
Print_ISBN :
0-8186-4980-1
DOI :
10.1109/SPLC.1993.365579