Brook for GPUs: Stream computing on graphics hardware

Brook for GPUs: Stream computing on graphics hardware
复制标题

DOI:
10.1145/1015706.1015800
复制
发表时间:
2004-08-01
影响因子:
6.2
通讯作者:
Hanrahan, P
Hanrahan, P
中科院分区:
计算机科学1区
文献类型:
--
作者:
Buck, I;Foley, T;Hanrahan, P

文献摘要

被引文献

相似文献

本文介绍了一种基于可编程图形硬件的通用计算系统Brook for GPU。Brook扩展了C语言以包括简单的数据并行构造,从而能够将GPU用作流协处理器。我们提出了一个编译器和运行时系统,它抽象和虚拟了图形硬件的许多方面。此外,我们还分析了与CPU相比,GPU作为计算引擎的有效性,以确定在特定算法中,GPU何时可以超越CPU。我们用SAXPY和SGEMV BLAS算子、图像分割、FFT和光线跟踪这五个应用程序对我们的系统进行了评估。对于这些应用程序,我们展示了我们的Brook实现与手写GPU代码的性能相当,并且比它们的CPU对应代码快7倍。
In this paper, we present Brook for GPUs, a system for general-purpose computation on programmable graphics hardware. Brook extends C to include simple data-parallel constructs, enabling the use of the GPU as a streaming coprocessor. We present a compiler and runtime system that abstracts and virtualizes many aspects of graphics hardware. In addition, we present an analysis of the effectiveness of the GPU as a compute engine compared to the CPU, to determine when the GPU can outperform the CPU for a particular algorithm. We evaluate our system with five applications, the SAXPY and SGEMV BLAS operators, image segmentation, FFT, and ray tracing. For these applications, we demonstrate that our Brook implementations perform comparably to hand-written GPU code and up to seven times faster than their CPU counterparts.