| hiCUDA: a high-level directive-based language for GPU programming |
| Full text |
Pdf
(1.17 MB)
|
| Source
|
ACM International Conference Proceeding Series; Vol. 383
archive
Proceedings of 2nd Workshop on General Purpose Processing on Graphics Processing Units
table of contents
Washington, D.C.
Pages 52-61
Year of Publication: 2009
ISBN:978-1-60558-517-8
|
|
Authors
|
|
| Publisher |
|
| Bibliometrics |
Downloads (6 Weeks): 80, Downloads (12 Months): 432, Citation Count: 0
|
|
|
ABSTRACT
The Compute Unified Device Architecture (CUDA) has become a de facto standard for programming NVIDIA GPUs. However, CUDA places on the programmer the burden of packaging GPU code in separate functions, of explicitly managing data transfer between the host memory and various components of the GPU memory, and of manually optimizing the utilization of the GPU memory. Practical experience shows that the programmer needs to make significant code changes, which are often tedious and error-prone, before getting an optimized program. We have designed hiCUDA, a high-level directive-based language for CUDA programming. It allows programmers to perform these tedious tasks in a simpler manner, and directly to the sequential code. Nonetheless, it supports the same programming paradigm already familiar to CUDA programmers. We have prototyped a source-to-source compiler that translates a hiCUDA program to a CUDA program. Experiments using five standard CUDA bechmarks show that the simplicity and flexibility hiCUDA provides come at no expense to performance.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
OpenMP Architecture Review Board. OpenMP specification v3.0. http://openmp.org/wp/openmp-specifications/, May 2008.
|
| |
2
|
I. Buck. Brook specification v0.2. http://merrimac.stanford.edu/brook/, October 2003.
|
 |
3
|
Ian Buck , Tim Foley , Daniel Horn , Jeremy Sugerman , Kayvon Fatahalian , Mike Houston , Pat Hanrahan, Brook for GPUs: stream computing on graphics hardware, ACM SIGGRAPH 2004 Papers, August 08-12, 2004, Los Angeles, California
|
| |
4
|
AMD Stream SDK. http://ati.amd.com/technology/streamcomputing/.
|
| |
5
|
IMPACT Research Group. The Parboil benchmark suite. http://www.crhc.uiuc.edu/IMPACT/parboil.php, 2007.
|
| |
6
|
|
| |
7
|
NVIDIA. NVIDIA CUDA Compute Unified Device Architecture Programming Guide v1.1. http://developer.download.nvidia.com/compute/cuda/1_1/NVIDIA_CUDA_Programming_Guide_1.1.pdf, November 2007.
|
| |
8
|
NVIDIA. The CUDA Compiler Driver NVCC v1.1. http://www.nvidia.com/object/cuda_programming_tools.html, November 2007.
|
| |
9
|
Open64 research compiler. http://open64.sourceforge.net.
|
| |
10
|
Open Computing Language (OpenCL). http://www.khronos.org/opencl/.
|
| |
11
|
RapidMind Inc. http://www.rapidmind.net.
|
 |
12
|
Shane Ryoo , Christopher I. Rodrigues , Sam S. Stone , Sara S. Baghsorkhi , Sain-Zee Ueng , John A. Stratton , Wen-mei W. Hwu, Program optimization space pruning for a multithreaded gpu, Proceedings of the sixth annual IEEE/ACM international symposium on Code generation and optimization, April 05-09, 2008, Boston, MA, USA
[doi> 10.1145/1356058.1356084]
|
 |
13
|
Shane Ryoo , Christopher I. Rodrigues , Sara S. Baghsorkhi , Sam S. Stone , David B. Kirk , Wen-mei W. Hwu, Optimization principles and application performance evaluation of a multithreaded GPU using CUDA, Proceedings of the 13th ACM SIGPLAN Symposium on Principles and practice of parallel programming, February 20-23, 2008, Salt Lake City, UT, USA
[doi> 10.1145/1345206.1345220]
|
| |
14
|
Sain-Zee Ueng , Melvin Lathara , Sara S. Baghsorkhi , Wen-Mei W. Hwu, CUDA-Lite: Reducing GPU Programming Complexity, Languages and Compilers for Parallel Computing: 21th International Workshop, LCPC 2008, Edmonton, Canada, July 31 - August 2, 2008, Revised Selected Papers, Springer-Verlag, Berlin, Heidelberg, 2008
[doi> 10.1007/978-3-540-89740-8_1]
|
| |
15
|
L. Wang, S. L. Jacques, and L. Zheng. MCML--Monte Carlo modeling of light transport in multi-layered tissues. Computer Methods and Programs in Biomedicine, 47(2):131--146, 1995.
|
|