Zippy: A Framework for Computation and Visualization on a GPU Cluster
Computer Science Department, Stony Brook University, NY, USA
Computer Graphics Forum, Vol. 27, No. 2. (April 2008), pp. 341-350
@conference{fan2008zippy,
title={Zippy: A framework for computation and visualization on a gpu cluster},
author={Fan, Z. and Qiu, F. and Kaufman, A.E.},
booktitle={Computer Graphics Forum},
volume={27},
number={2},
pages={341–350},
issn={1467-8659},
year={2008},
organization={Wiley Online Library}
}
Due to its high performance/cost ratio, a GPU cluster is an attractive platform for large scale general-purpose computation and visualization applications. However, the programming model for high performance general-purpose computation on GPU clusters remains a complex problem. In this paper, we introduce the Zippy frame-work, a general and scalable solution to this problem. It abstracts the GPU cluster programming with a two-level parallelism hierarchy and a non-uniform memory access (NUMA) model. Zippy preserves the advantages of both message passing and shared-memory models. It employs global arrays (GA) to simplify the communication, synchronization, and collaboration among multiple GPUs. Moreover, it exposes data locality to the programmer for optimal performance and scalability. We present three example applications developed with Zippy: sort-last volume rendering, Marching Cubes isosurface extraction and rendering, and lattice Boltzmann flow simulation with online visualization. They demonstrate that Zippy can ease the development and integration of parallel visualization, graphics, and computation modules on a GPU cluster.
December 11, 2010 by hgpu