Stenciler

The Stenciler class hierarchy is an object-oriented framework for constructing parallel implementations of stencil algorithms. This framework simplifies the development process but encapsulating the common aspects of stencil algorithms in a base class so that application-specific derived classes can be easily defined via inheritance and overloading. In addition, the stencil base class contains mechanisms for parallel execution. The result is a high performance, parallel, application-specific stencil class.

Source code for the base stencil class and two sample applications, a simple convolution application and a PDE solver using Jacobi iteration, is currently available. Please read the README files included with the source code for directions on using and extending this code. For on-line browsing the following source code files are available:

Base class:

PDE program:

Convolution program:

Note: The tar file contains more than just the source code. It also contains the README files, makefiles, and some sample data files.

The paper A Parallel Object-Oriented Framework for Stencil Algorithms by John F. Karpovich, Matthew Judd, W. Timothy Strayer, and Andrew Grimshaw, which appeared at HPDC-2 in July 1993, describes the stencil framework in more detail, including the interface and performance.