Sciweavers

TOG
2008

BSGP: bulk-synchronous GPU programming

13 years 11 months ago
BSGP: bulk-synchronous GPU programming
We present BSGP, a new programming language for general purpose computation on the GPU. A BSGP program looks much the same as a sequential C program. Programmers only need to supply a bare minimum of extra information to describe parallel processing on GPUs. As a result, BSGP programs are easy to read, write, and maintain. Moreover, the ease of programming does not come at the cost of performance. A well-designed BSGP compiler converts BSGP programs to kernels and combines them using optimally allocated temporary streams. In our benchmark, BSGP programs achieve similar or better performance than well-optimized CUDA programs, while the source code complexity and programming time are significantly reduced. To test BSGP's code efficiency and ease of programming, we implemented a variety of GPU applications, including a highly sophisticated X3D parser that would be extremely difficult to develop with existing GPU programming languages.
Qiming Hou, Kun Zhou, Baining Guo
Added 15 Dec 2010
Updated 15 Dec 2010
Type Journal
Year 2008
Where TOG
Authors Qiming Hou, Kun Zhou, Baining Guo
Comments (0)