NAME: Life_WT AUTHOR INFO: Steve Thorpe Application Visualization System Specialist International AVS Center North Carolina Supercomputing Center 3021 Cornwallis Road, PO Box 12889 Research Triangle Park, NC 27709-2889 thorpe@ncsc.org Extensive portions of this code were developed by Wavetracer, Inc. SOURCE FILES: lifeWT.mc TYPE: DATA INPUTS: Oneshot OUTPUTS: field 2D 2-space 4-vector byte (image) PARAMETERS: Name Type Default X Procs Integer 150 Y Procs Integer 150 Generations Integer 50 Display Every Integer 1 Go for it!! Oneshot DESCRIPTION: Life_WT is an implementation of the "Life" problem. This is an algorithm where "neighbors", or cells, propagate or die, based on the proximity of other living neighbors. In this case, a living neighbor is represented by a processor in the massively parrallel Wavetracer being "turned on". The thoughts behind the algorithm are: If there are too many neighbors, a cell will die due to overcrowding. If there are too few neighbors, a cell will die due to lack of resources. The user is able to control the number of processors in the X direction, the number of processors in the Y direction, the number of generations to compute, and the number of generations to compute between outputs of an image. A oneshot parameter, "Go for it!!" is supplied to begin the execution of the module. Life_WT is written in multiC, a fully compatible extension of the ANSI C programming language. It was developed using a Data Transport Computer from Wavetracer, Inc. It is meant to be used with the Life AVS module, which is a standalone implementation of Life_WT. As the number of processors increases, the performance of Life_WT greatly supercedes that of Life, due to the benefits of the Wavetracer's multiple processors operating in parrallel. The output from this coroutine module is an AVS image, which can be sent to the display_image module for viewing as the computation progresses. The user sees a visualization of the processors that are "alive" at that moment in the computation. LIMITATIONS: The AVS module crashes the second time it is run... a quick work around until this bug is worked out is to "hammer it" after running it in a network, then drag it down into your network to run it again. SAMPLE NETWORK: oneshot | ----------------------------------- | | Life Life_WT | | display image display image