Please wait a minute...
Frontiers of Electrical and Electronic Engineering

ISSN 2095-2732

ISSN 2095-2740(Online)

CN 10-1028/TM

Front Elect Electr Eng    2012, Vol. 7 Issue (1) : 5-15    https://doi.org/10.1007/s11460-012-0187-x
RESEARCH ARTICLE
GPU parallel computing: Programming language, debugging tools and data structures
Kun ZHOU()
College of Computer Science and Technology, Zhejiang University, Hangzhou 310058, China
 Download: PDF(1062 KB)   HTML
 Export: BibTeX | EndNote | Reference Manager | ProCite | RefWorks
Abstract

With many cores driven by high memory bandwidth, today’s graphics processing unit (GPU) has involved into an absolute computing workhorse. More and more scientists, researchers and software developers are using GPUs to accelerate their algorithms and applications. Developing complex programs and software on the GPU, however, is still far from easy with existing tools provided by hardware vendors. This article introduces our recent research efforts to make GPU software development much easier. Speci?cally, we designed BSGP, a high-level programming language for generalpurpose computation on the GPU. A BSGP program looks much the same as a sequential C program, and is thus easy to read, write and maintain. Its performance on the GPU is guaranteed by a well-designed compiler that converts the program to native GPU code. We also developed an effective debugging system for BSGP programs based on the GPU interrupt, a unique feature of BSGP that allows calling CPU functions from inside GPU code. Moreover, using BSGP, we developed GPU algorithms for constructing several widely-used spatial hierarchies for high-performance graphics applications.

Keywords graphics processing unit (GPU)      parallel computing      programming languages      debugging tools      data structures     
Corresponding Author(s): ZHOU Kun,Email:kunzhou@acm.org   
Issue Date: 05 March 2012
 Cite this article:   
Kun ZHOU. GPU parallel computing: Programming language, debugging tools and data structures[J]. Front Elect Electr Eng, 2012, 7(1): 5-15.
 URL:  
https://academic.hep.com.cn/fee/EN/10.1007/s11460-012-0187-x
https://academic.hep.com.cn/fee/EN/Y2012/V7/I1/5
1 Hou Q, Zhou K, Guo B. BSGP: Bulk-synchronous GPU programming. ACM Transactions on Graphics , 2008, 27(3): Article 19, 1-13
2 Hou Q, ZhouK, GuoB. Debugging GPU stream programs through automatic data?ow recording and visualization. ACM Transactions on Graphics , 2009, 28(5): Article 153, 1-11
3 Zhou K, HouQ, WangR, GuoB. Real-time kd-tree construc-Kuntion on graphics hardware. ACM Transactions on Graphics , 2008, 27(5): Article 126, 1-11
4 HouQ, SunX, ZhouK, LauterbachC, ManochaD. Memoryscalable GPU spatial hierarchy construction. IEEE Transactions on Visualization and Computer Graphics , 2011, 17(4): 466-474
doi: 10.1109/TVCG.2010.88
5 ZhouK, GongM, HuangX, GuoB. Data-parallel octrees for surface reconstruction. IEEE Transactions on Visualization and Computer Graphics , 2011, 17(5): 669-681
doi: 10.1109/TVCG.2010.75
6 BuckI, FoleyT, HornD R, SugermanJ, FatahalianK, HoustonM, HanrahanP. Brook for GPUs: Stream computing on graphics hardware. ACM Transactions on Graphics , 2004, 23(3): 777-786
doi: 10.1145/1015706.1015800
7 ValiantL G. A bridging model for parallel computation. Communications of the ACM , 1990, 33(8): 103-111
doi: 10.1145/79173.79181
9 ShevtsovM, SoupikovA, KapustinA. Highly parallel fast KD-tree construction for interactive ray tracing of dynamic scenes. Computer Graphics Forum , 2007, 26(3): 395-404
doi: 10.1111/j.1467-8659.2007.01062.x
10 KazhdanM, BolithoM, HoppeH. Poisson surface reconstruction. In: Proceedings of the Fourth ACM/Eurographics Symposium on Geometry Processing . 2006, 61-70
[1] Hua XU, Yun WEN, Jixiong WANG. A fast-convergence distributed support vector machine in small-scale strongly connected networks[J]. Front Elect Electr Eng, 2012, 7(2): 216-223.
Viewed
Full text


Abstract

Cited

  Shared   
  Discussed