The JTPACK Linear Solver Toolkit

John A. Turner

October 4, 1998

What is JTPACK?

JTPACK is a toolkit containing various Fortran routines developed over a number of years in support of several code efforts at LANL. It contains some BLAS-like routines, some LAPACK-like routines, various iterative solvers, and utility routines like timers, random number generators, I/O routines, routines to parse command-line arguments to Fortran programs, etc.

The library was designed to allow use at a number of levels. At the most basic level, there are several high-level solver routines that can be used in almost a black-box manner for solving linear systems by accepting reasonable default values for various control parameters. Alternatively, one can exert more control by dictating control parameters or by adding user-written routines for certain operations. Finally, the library can be used as a toolkit for building and investigating new algorithms.

There are two versions of JTPACK, one written in Fortran 77 with extensions, the other in Fortran 90. Both versions contain a README with information on requirements and directions for building the packages and running the test problems.

JTPACK77

The current JTPACK77 manual is available as either HTML, gzipped PostScript (0.17 MB), or PostScript (1 MB).

The latest version of the source (v26.12) is available as a tar file, either uncompressed (2.6 MB) or gzipped (0.4 MB).

You can also browse the source code.

Examples of codes for which JTPACK77 provides linear solver options are:

JTPACK90

JTPACK90 uses the syntactic advantages of Fortran 90 to implement a fully object-based infrastructure. In addition, JTPACK90 uses PGSLIB for efficient parallel execution.

The current, fully object-based version of the source (v10.9, currently used by TELLURIDE, is available as a tar file, either uncompressed (0.6 MB) or gzipped (0.1 MB).

The final non-object-based version of the source (v9.18, the one used for early versions of TELLURIDE, is available as a tar file, either uncompressed (0.7 MB) or gzipped (0.1 MB).

An article about JTPACK90 written for the Eighth SIAM Conference on Parallel Processing for Scientific Computing is available as HTML, PostScript (1.6 MB), or gzipped PostScript (0.1 MB). The overheads for the presentation are also available, again either as HTML, PostScript (0.7 MB), or gzipped PostScript (0.1 MB).

This article is one of three on TELLURIDE and related topics appearing in the proceedings for the above conference. One of the other two gives an overview of Telluride effort as a whole, and the other discusses PGSLIB, the Portable Gather/Scatter Library used by both TELLURIDE and JTPACK90 to achieve efficient parallel execution. Both articles are available from the TELLURIDE home page.

Overheads for a talk given to LANL group T-3 on 5/23/97 are also available as HTML, PostScript (0.8 MB), or gzipped PostScript (0.1 MB).

This talk was half of a combined presentation by Robert Ferrell and myself on parallel linear algebra support in TELLURIDE.

JTPACK GUI

Both packages include a GUI, written in Tcl/Tk which can be used to drive the standalone test codes for the packages. The GUI is useful for getting a feel for the capabilities of JTPACK, but can also be used as an analysis tool, since a system can be loaded from a file and solved.

Some screen shots of the GUI:



John A. Turner