BSGP swMATH ID: 8995 Software Authors: Hou, Q.; Zhou, K.; Guo, B. Description: 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. Homepage: http://dl.acm.org/citation.cfm?id=1360618 Related Software: CUDA; BSPlib; hiCUDA; APS; GLift; APS-1; Python; CodePy; Copperhead; Milepost GCC; JCuda; SciTools; Ruby; PyOpenCL; Lua; PyCUDA; POOMA; OpenCL; NumPy; SciPy Cited in: 2 Documents Cited by 3 Authors 1 Goodrich, Michael Truman 1 Mitzenmacher, Michael 1 Valiant, Leslie Gabriel Cited in 1 Serial 1 Journal of Computer and System Sciences Cited in 2 Fields 2 Computer science (68-XX) 1 Information and communication theory, circuits (94-XX) Citations by Year