Diamond Tiling Visualizer
Diamond tiling is a way to schedule stencil computations on multicore architectures that balances parallelism and data locality. The Diamond Tiling Visualizer is a tool for visualizing 3D diamond tiles using a 2.5D visualization.
The slice-viz executable generates an SVG file containing the visualization. There are a number of parameters that can be set to modify the parallelization. The tile size is parameterized as was described in the ICS 2015 paper "Parameterized Diamond Tiling for Stencil Computations with Chapel parallel iterators" by Ian J. Bertolacci, Catherine Olschanowsky, Ben Harshbarger, Bradford L. Chamberlain, David G. Wonnacott, and Michelle Mills Strout.
Getting Started
To build the visualizer: make
Example usage:
./slice-viz -h
./slice-viz
./slice-viz -T 10 -s 2 -e 4 -g halfradius
Using the example command ./slice-viz -T 10 -s 2 -e 4 -g halfradius will result in the following display:
With a higher number of time steps and a larger board (30x30), starting the visualization at T = 2, ending at T = 5, a cell spacing of 100 and a wider radius of 28 for the circles, with tile coordinates labeled, the result is something as follows: ./slice-viz -T 5 -N 30 -s 2 -e 5 -c 100 -r 28 -l 1 -i 1 -g halfradius
Authors and Contributors
Michelle Strout (@mstrout) and Wendy Wang (@aMiss-aWry).
If you have any questions or comments send email to mstrout@cs.arizona.edu.