You are here

Research & Development: Projects
Legacy Projects

Babel: High-Performance Language Interoperability

Babel is a high-performance language interoperability tool. Our tool is based on the Scientific Interface Description Language (SIDL). Babel is a compiler that generates glue code from SIDL interface descriptions. SIDL provides a modern object oriented programming model, even on top of traditional procedural languages. This includes automatic reference counting and resource (de)allocation. Code written in one language can be called from any of the supported languages.

HZIP: Lossless Compression of Meshes

hzip 1.0.1 is a C++ library for lossless compression of structured and unstructured meshes composed of cells with hypercube topology.

Focus Area:
Compression Techniques

LOCAL: Locality-Optimizing Caching Algorithms and Layouts

The sheer size of data poses significant problems in all stages of the visualization pipeline, from offline pre-processing of simulation data, to interactive queries, to real-time rendering. Moreover, visualization data is often unstructured in nature, which further complicates its management and representation. The goal of this project is to develop techniques for reducing bandwidth requirements for large unstructured data, both explicitly, by making use of data compression, and implicitly, by optimizing the layout of the data for better locality and cache reuse.

ODEPACK: Fortran ODE Solvers

ODEPACK is a collection of Fortran solvers for the initial value problem for ordinary differential equation systems. The collection is suitable for both stiff and nonstiff systems and includes solvers for systems given in both explicit and linearly implicit forms. The solvers are written in standard Fortran 77, with a few exceptions and with minimal machine dependencies.


ParFlow is a parallel, three-dimensional, variably saturated groundwater flow code that is especially suitable for large scale, high resolution problems ParFlow’s development and application has been on-going for more than 10 years and resulted in some of the most advanced numerical solvers and multigrid preconditioners for massively parallel computer environments that are available today.


By applying and extending ideas from data mining, image and video processing, statistics, and pattern recognition, we are developing a new generation of computational tools and techniques that are being used to improve the way in which scientists extract useful information from data.  Sapphire technology is being applied to problems in a variety of application areas including plasma physics experiments and simulations, remote sensing imagery, video surveillance, climate simulations, astronomy, and fluid mix experiments and simulations.

Tool Gear

Tool Gear is infrastructure for creating debugging and performance tools. The Tool Gear viewer organizes information about specific lines of a program and presents it to users in a form that is easy to navigate. It is commonly used as a back-end tool to gather information about some aspect of a program in the form of short text messages that are associated with one or more lines of source code.