There are several different methods for optimizing stencil applications.
Stencil applications include, for example, physics simulations such as wind tunnel simulations, simulations of electromagnetism and turbines, as well as cellular automata.
In the context of cellular automata, a stencil is a set of ordered points in the neighborhood of a target point, based on which the state of that point can be computed for each time step.
Since the neighborhood is always the same, we refer to this as a stencil pattern.
In this work, we used the CUDA framework and Lenia cellular automaton to research efficiency of different methods of optimization of running stencil applications on graphics processing units.
In particular, we focused on computations on two-dimensional and three-dimensional grids, examining different neighborhood sizes and caching strategies.
This work and its results provide a foundation for further research in this area.
|