|
University of Alberta Libraries >
Faculty of Graduate Studies and Research >
Electronic Theses and Dissertations >
Please use this identifier to cite or link to this item:
http://hdl.handle.net/10048/762
|
| Title: | A compiler for parallel execution of numerical Python programs on graphics processing units |
| Authors: | Garg, Rahul |
| Advisors: | Amaral, Jose Nelson (Computing Science) |
| Committee Members: | Lu, Paul (Computing Science) Cockburn, Bruce (Electrical and Computer Engineering) |
| Department: | Department of Computing Science |
| Keywords: | compiler gpgpu |
| Issue Date: | 2-Oct-2009 |
| Abstract: | Modern Graphics Processing Units (GPUs) are providing breakthrough performance for numerical computing at the cost of increased programming complexity. Current programming models for GPUs require that the programmer manually manage the data transfer between CPU and GPU. This thesis proposes a simpler programming model and introduces a new compilation framework to enable Python applications containing numerical computations to be executed on GPUs and multi-core CPUs.
The new programming model minimally extends Python to include type and parallel-loop annotations. Our compiler framework then automatically identifies the data to be transferred between the main memory and the GPU for a particular class of affine array accesses. The compiler also automatically performs loop transformations to improve performance on GPUs.
For kernels with regular loop structure and simple memory access patterns, the GPU code generated by the compiler achieves significant performance improvement over multi-core CPU codes. |
| URI: | http://hdl.handle.net/10048/762 |
| Appears in Collections: | Electronic Theses and Dissertations
|
Files in This Item:
| File |
Description |
Size | Format |
| Garg_Rahul_Fall 2009.pdf | | 1819Kb | Adobe PDF | View/Open |
|
All items in DSpace are protected by copyright, with all rights reserved.
|