Black History Month is here! Discover ERA research focused on Black experiences in Canada and worldwide. Use our general search below to get started!

A compiler for parallel execution of numerical Python programs on graphics processing units

dc.contributor.advisorAmaral, Jose Nelson (Computing Science)
dc.contributor.authorGarg, Rahul
dc.contributor.otherLu, Paul (Computing Science)
dc.contributor.otherCockburn, Bruce (Electrical and Computer Engineering)
dc.date.accessioned2025-05-29T08:16:38Z
dc.date.available2025-05-29T08:16:38Z
dc.date.issued2012-11
dc.description.abstractModern 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.
dc.identifier.doihttps://doi.org/10.7939/R3K63B
dc.language.isoen
dc.rightsThis thesis is made available by the University of Alberta Libraries with permission of the copyright owner solely for non-commercial purposes. This thesis, or any portion thereof, may not otherwise be copied or reproduced without the written consent of the copyright owner, except to the extent permitted by Canadian copyright law.
dc.subjectGpgpu
dc.subjectCompilers
dc.titleA compiler for parallel execution of numerical Python programs on graphics processing units
dc.typehttp://purl.org/coar/resource_type/c_46ec
thesis.degree.grantorhttp://id.loc.gov/authorities/names/n79058482
thesis.degree.levelMaster's
thesis.degree.nameMaster of Science
ual.date.graduationFall 2012
ual.departmentDepartment of Computing Science
ual.jupiterAccesshttp://terms.library.ualberta.ca/public

Files

Original bundle

Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
Garg_Rahul_Fall-202009.pdf
Size:
1.78 MB
Format:
Adobe Portable Document Format