STEP/SIMP - A platform for fine-grained lattice computing
Edward Bach
STEP/SIMP is a platform for fine-grained lattice computing such as that of cellular automata (CA), lattice gases/partitioned CA (LG/PCA), and pixel-level image processing. The SIMP programming environment targets the needs of those who desire to quickly write efficient and readable massively-parallel, fine-grained programs at a high level without worrying about the details of the underlying implementation. STEP is an abstract machine interface that provides set of fine-grained lattice computing primitives into which SIMP programs are compiled.
We demonstrate how to program CA and LG/PCA in SIMP. First, we'll get our feet wet with a simple CA parity rule and then derive a LG/PCA particle diffusion model which yields the continuous diffusion (heat) equation in the limit.
Finally, we'll discuss the philosophy of the STEP computing format vis-a'-vis traditional formats and highlight some implementation aspects and applications.
STEP/SIMP is free, open-source software available at
http://pm.bu.edu. This work is being done under the academic supervision of Tom Toffoli with support from the DOE. This work is not directly related to the research at NISLAB.