BSGP: Bulk-Synchronous GPU Programming
Qiming Hou, Kun Zhou, Baining Guo
In ACM Transactions on Graphics, 27(3), August 2008.
Abstract: 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.
Keyword(s): bulk synchronous parallel programming, programable graphics hardware, stream processing, thread manipulation
Article URL: http://doi.acm.org/10.1145/1360612.1360618
BibTeX format:
@article{Hou:2008:BBG,
  author = {Qiming Hou and Kun Zhou and Baining Guo},
  title = {BSGP: Bulk-Synchronous GPU Programming},
  journal = {ACM Transactions on Graphics},
  volume = {27},
  number = {3},
  pages = {19:1--19:13},
  month = aug,
  year = {2008},
}
Search for more articles by Qiming Hou.
Search for more articles by Kun Zhou.
Search for more articles by Baining Guo.

Return to the search page.


graphbib: Powered by "bibsql" and "SQLite3."