Zippy: A Framework for Computation and Visualization on a GPU Cluster

Zippy: A Framework for Computation and Visualization on a GPU Cluster
复制标题

DOI:
10.1111/j.1467-8659.2008.01131.x
复制
发表时间:
2008-04
影响因子:
2.5
通讯作者:
Zhe Fan;Feng Qiu;A. Kaufman
Zhe Fan;Feng Qiu;A. Kaufman
中科院分区:
计算机科学4区
文献类型:
--
作者:
Zhe Fan;Feng Qiu;A. Kaufman

文献摘要

被引文献

相似文献

由于其高性能/成本比,GPU集群是大规模通用计算和可视化应用的有吸引力的平台。然而,在GPU集群上实现高性能通用计算的编程模型仍然是一个复杂的问题。在本文中,我们介绍了Zippy框架,这是解决这个问题的通用和可扩展的解决方案。它使用两级并行层次结构和非均匀内存访问(NUMA)模型抽象GPU集群编程。Zippy保留了消息传递和共享内存模型的优点。它采用全局阵列(GA)来简化多个GPU之间的通信,同步和协作。此外,它向程序员公开数据局部性,以获得最佳性能和可伸缩性。我们介绍了三个使用Zippy开发的示例应用程序:sort-last体绘制,Marching Cubes等值面提取和渲染,以及具有在线可视化的格子Boltzmann流模拟。他们证明了Zippy可以简化GPU集群上并行可视化、图形和计算模块的开发和集成。
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.