next up previous index
Next: Databases: From Small to Up: High Performance Data Management Previous: What Else in HDF5?

Other Parallel Libraries

HDF5 is an example of a library that lives on top of MPI and lets you carry out quite involved operations on portions (datasets) of structured files in parallel and on a somewhat higher level than what MPI-IO lets you do, although the way that a dataset gets divided into hyperslabs is quite similar to the way that a portion of a file gets divided with file views in MPI-IO.

The whole point behind the development of MPI was to enable construction of parallel libraries in such a way that inter-process communications within the library would not interfere with inter-process communications within the calling program - and this is what the device of an MPI communicator is for.

So, what other parallel libraries, apart from HDF5, are out there, in the free-ware world? The answer is, not that many, but there are some worth mentioning.

We shall start from the Netlib Repository at the University of Tennessee and at the Oak Ridge National Laboratory, which will point you to High Performance Math Software tools at the National HPCC Software Exchange (NHSE). HPC-Netlib focuses on four areas at present:

The NHSE Software and Technology page provides numerous links to various Domain Specific Repositories. Of these most reside at various DoD installations, some of which do not distribute their software on-line. You may wish to visit:

NCSA distributes HDF5, of course, but also a number of other tools and libraries, most notably:

And, last but not least, NHSE distributes its own tools and applications, for example:

In the last category, i.e., Scientific and Engineering Applications, you will find, amongst others, tools for Financial Modeling, Simulated Annealing, Crystallography, Adaptive Particle-Mesh Methods, Distributed Parallel Multipole Tree Algorithms, Flux-Corrected Transport, Molecular Dynamics, Image Processing, Finite Volume and Finite Element Simulations.

The Princeton Plasma Physics Laboratory distributes numerous applications and tools for scientific programming in general and for solving various complicated plasma problems in particular - some parallel. You will find their software distribution site and catalogues at

The Argonne National Laboratory is the home of MPI, MPICH, ROMIO and even PVFS nowadays. The Mathematics and Computer Science Division distributes other less know, but equally useful, systems and products. Amongst them:

  The toolkit provides three primary functionalities: the visualization of individual data sets, data comparison via the visualization of the differences between data sets, and image comparison via the simultaneous visualization of multiple data sets. For each functionality, one or more standard visualization techniques, such as vector field glyphs, animated streamlines and flow fields, cutting planes, and scalar field height profiles, are used to gain insight into the data. Additional insights are gained through the dynamic selection of the color maps and through data manipulation techniques such as magnification, culling, and exaggeration.

  The toolkit facilitates the development of portable, high-performance computational chemistry codes, by defining a standard I/O API that meets chemistry requirements, and providing high-performance implementations of this API on different high-performance computers.

  a Fortran loop and index converter, is a parser-based source translation tool that automates the conversion of program loops and array indices for distributed-memory parallel computers.

  The NEOS Server 3.0 is the first network-enabled problem-solving environment for a wide class of applications in business, science, and engineering. Included are state-of-the-art solvers in integer programming, nonlinearly constrained optimization, bound-constrained optimization, unconstrained optimization, linear programmming, stochastic linear programming, complemetarity problems, linear network optimization, semidefinite programming, and administrative programming.

  The Portable, Extensible Toolkit for Scientific computation, is a suite of uni- and parallel-processor codes for solving large-scale problems modeled by partial differential equations. PETSc employs the MPI standard for all message-passing communication. The code is written in a data-structure-neutral manner to enable easy reuse and flexibility.

  The Scalable Unix Tools project - which offers parallel, scalable version of common Unix commands for parallel machines with a Unix on each node.

  RSL is a runtime system library for implementing regular-grid models with nesting on distributed memory parallel computers. RSL provides support for automatically decomposing multiple model domains and for redistributing work between processors at run time for dynamic load balancing. The interface to RSL supports Fortran77 and Fortran90.

next up previous index
Next: Databases: From Small to Up: High Performance Data Management Previous: What Else in HDF5?
Zdzislaw Meglicki