Parallel Marching Cubes

 





As processing power has increased, so has the size of the volume data sets produced by simulations run on supercomputers. In an effort to reduce the post-processing time required to visualize these simulations, we have implemented a parallel version of the marching cubes algorithm. In addition to the time saved by marching multiple cubes simultaneously through the volume, time is saved by keeping the volume data resident on the parallel machines where it was generated. The algorithm can either run heterogeneously with the simulation, using message passing to transfer the volume data, or it can read the volume data from files stored on the disk system that is local to the parallel machine.

The adaptation of marching cubes to a MIMD environment is fairly straightforward due to its inherent data parallelism. The decomposition is accomplished by partitioning the volume into approximately equal-sized sub-volumes. The sub-volumes are distributed to the individual processors, each of which is asynchronously running an essentially serial version of marching cubes.

Click on an image to see large version
This image is from Sandia's Synthetic Environment Laboratory. It is from a 28 million cell simulation of a projectile impacting a plate. It is a visualization of the largest data set yet to be produced on the Intel Paragon.



Contact Patricia Crossno: pjcross@cs.sandia.gov

Meet us | Projects | SC2000