Tools:
High Performance Software Laboratory
Meta-Chaos:
These papers describes a framework for providing the ability to use multiple
specialized data parallel libraries and/or languages within a single applications. The
ability to use multiple libraries) is required in many application areas, such as
multidisciplinary complex physical simulations and remote sensing image database
applications. An application can consist of one program or multiple programming that use
different libraries to parallelize operations on distributed data structures. The
framework is embodied in a runtime library called Meta-Chaos that has been used to
exchange data between data parallel programs written using High Performance Fortran, the
Chaos and Multiblock Parti libraries developed at Maryland for handling various types of
unstructured problems, and the runtime library for pc++, a data parallel version of C++
from Indiana University. Experimental results show that Meta-Chaos is able to move data
between libraries efficiently, and that Meta-Chaos provides effective support, for complex
applications.
Meta-Chaos
papers
CHAOS:
The development of sophisticated runtime support forms the foundation of our
research effort. We have developed the CHAOS library, a runtime support library that
couples partitioners to rays, generates optimized communication schedules. The CHAOS
library also contains a wide range of efficient partitioners which are based on data
access patterns of a problem, computational load information and problem geometry. We have
implemented address translation methods which support irregular mappings by using highly
optimized page-based translation tables.
CHAOS
papers
Multiblock PARTI:
Multiblock Parti is a runtime support library for distributed memory parallel
machines. This library provides the support required for parallelization of codes in
which:
- Data distribution is not known at compile-time
- Number of processors on which the code is to be executed is not known at
compile-time
- The code involved complex symbolic loop bounds and strides which may make
compile-time analysis difficult.
The design of this library was initially motivated by Multiblock and Multigrid
applications. Besides being used for hand-parallelization of codes, this library can be
used by compilers of HPF-like data parallel languages. We have successfully integrated
this library with Syracuse HPF/F90D compilers.
Multiblock
PARTI papers
Jovian Library: Tools
Jovian
Library papers
|