The Netlib Repository



next up previous
Next: The GAMS Virtual Up: Software/Enabling Technologies Previous: Software/Enabling Technologies

The Netlib Repository

One of the software repositories is the Netlib Repository, which has been in existence since 1985 and which typically receives several thousand requests a day [6]. Netlib is a moderated collection which contains several packages widely recognized as being of high quality, such as EISPACK, LINPACK, FFTPACK, and LAPACK, as well as some newer, lesser known packages. Netlib is a replicated and distributed repository, with sites in Tennessee, New Jersey, Norway, England, Germany, Taiwan, and Australia. Each software package in Netlib has a master site, and all the other sites having a copy of that package mirror the master copy.

The original user interface for Netlib was an email interface. Although many users still access Netlib via email, some of the Netlib sites have begun offering a variety of other interfaces as well, including anonymous FTP, Gopher, and HTTP. For example, through HTTP, the Netlib Repository can be browsed and searched by WWW clients such as Mosaic.

Because Netlib is intended to be a library, rather than just a warehouse, information about the software is recorded in template-type files called ``index'' files. These index files may be searched, or they may be used as input to index-building tools. To further aid searching, Netlib uses the GAMS classification scheme, discussed further below. The Netlib email interface provides the find command, which uses Unix grep to perform a keyword search of all the index files. The Netlib WWW server, www.netlib.org, provides a field-specific search interface to forms-capable WWW clients such as Mosaic. With this interface, the user can, for example, search for software by a certain author, containing one or more keywords in its abstract, and/or classified under one or more GAMS classifications.

The Netlib Repository contains a number of software packages specifically designed for high performance computing. LAPACK (Linear Algebra PACKage) provides routines for solutions of systems of simultaneous linear equations, for least squares solutions of linear systems of equations, and for solutions of eigenvalue and singular value problems. LAPACK has been designed to run efficiently on shared-memory vector and parallel processors. To minimize data movement between different levels in hierarchical memory, LAPACK reorganizes algorithms to use block matrix operations. The block matrix operations are implemented in the Level 3 BLAS (Basic Linear Algebra Subroutines), which can be optimized for each architecture. ScaLAPACK, which is currently under development, will extend LAPACK to run scalably on MIMD distributed memory computers. Like LAPACK, the ScaLAPACK routines are based on block-partitioned algorithms. The fundamental building block for ScaLAPACK are distributed memory versions of the BLAS, plus a set of Basic Linear Algebra Communication Subprograms (BLACS) for communication tasks that arise frequently in parallel linear algebra computations.

A number of parallel programming environments are available from Netlib, including P4, PICL, PRESTO, and PVM. These packages allow the programmer to write portable parallel programs.



next up previous
Next: The GAMS Virtual Up: Software/Enabling Technologies Previous: Software/Enabling Technologies



Jack Dongarra
Sun Dec 18 14:22:28 EST 1994