PIES: Parallelization using Inspector/Executor Strategies

The PIES project started in Spring 2008. This research involves developing a tool suite called PIES (Parallelization using Inspector/Executor Strategies) for the automatic incorporation of inspector/executor strategies into irregular applications. Inspector/executor strategies have been developed to parallelize irregular computations such as solving partial differential equations over irregular grids, molecular dynamics simulations, and computations over sparse matrices. Although these strategies have been successfully included in many applications and libraries, their use is still hindered by the lack of a general framework to automatically integrate them into programs.

The PIES tool suite will reduce software development time by automating inspector/executor strategy integration into existing code, and by enabling new inspector/executor strategy development.

The work shown here is also partially funded by the DOE funded CACHE Institute.
This material is based upon work supported by the National Science Foundation under Career Grant No. 0746693. Any opinions, findings and conclusions or recomendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation (NSF).

Tool Suite

The PIES tool suite is planned over a series of releases. The first release consists of a library, IEGenLib, which a researcher can use somewhat like the omega library and calculator to explore sets and relations with uninterpreted functions and perform operations such as compose. The new capabilities provided by IEGenLib are that 1) composition and apply operations involving uninterpreted function symbols keep a precise result instead of introducing an unknown constraint, and 2) arguments to the uninterpreted function calls can be any expression.

The second release will support generating sequentially executing inspector and executor code. The focus of the 3rd release is to extend the tools to support overlapping computations and generate inspectors and executors that run on OpenMP systems. The 4th release will include the ability to generate code that supports distributed memory parallelisms. The focus of the 5th release is to maximize automation of all steps in the application of inspector/executor strategies to a program.

For details regarding the tools, and instructions on how to download them, please see Downloads.

Outreach Program

The PIES project also includes an outreach program for local high school students, based on applying the PIES concepts to the molecular dynamics simulations that are part of the Molecular Workbench.

For details on the outreach program and instructions on how to download available worksheets, please see Outreach