Grant: Strategic Projects - Group
University of British Columbia
$140,500.00
Transactional Memory and Language Support for General Purpose Graphics Processors
FY 2012-13
Summary
Recent shifts in technologyare creating a looming challenge for Canadian software developers. Increasing power dissipation is preventing substantial increases in clock frequencyfor the CPU at the heart of computers. While previouslymeeting often unstated software performance objectives was simplya matter of waiting for the next CPU generation to reach the market, software developers are now increasinglybeing forced to write software for the class of more power-efficient computing devices which process tasks explicitlyin parallel. These devices are exemplified bythe ""manycore"" Graphics Processing Units (GPUs) found in most personal computers sold today. Fundamentally, GPUs can offer an order of magnitude more efficient computation than CPUs (even ""multicore"" CPUs) because theydevote more silicon resources to the actual job of computation rather than to discovering what tasks might be parallel. Consequently, a rapidlygrowing number of ""GPU compute"" clusters are now being installed in large companies around the world, and GPU manufacturers (such as ATI/AMD in Canada) have begun providing programming interfaces to make it easier to write software to use GPUs for non-graphics computations. However, writing software for GPUs remains challenging due to the need for software developers to express parallelism and tune their code for the complex behavior of the hardware. Our research addresses these problems in three ways: bydeveloping hardware and software for delivering more predictable performance to software developers; bysupporting a programming model called transactional memorydirectlyin GPU hardware; and bydeveloping programming language support to ease the process of restructuring code, or automating the restructuring altogether. Together these changes will make GPUs easier to use in existing and future application domains. Our research will directlybenefit Canadian GPU manufacturers and software companies faced with meeting the challenges resulting from the shift towardsparallel computing systems.
Program
Strategic Projects - Group
Recipient
Location
British Columbia, Canada
Recipient Type
Academia
Type
Grant
Source
NSERC's Awards Data
As published
Application id
397361-2010
Name nom
Aamodt, Tor
Department département
Electrical and Computer Engineering
Organization id
2
Institution établissement
University of British Columbia
Province en
British Columbia
Province fr
Colombie-Britannique
Country en
CANADA
Country fr
CANADA
Fiscal year exercice financier
2012
Competition year année de concours
2010
Award amount
140500
Program id
STPGP
Program name en
Strategic Projects - Group
Program name fr
Projets stratégiques - De groupe
Group en
Research partnerships programs
Group fr
Programmes de partenariat
Committee code
1041
Committee name en
Strategic Projects Selection Panel - Communications and Information
Committee name fr
Comité de sélection des projets stratégiques - Communication et information
Area of application code
801
Area of application group en
Information and communication services
Area of application group fr
Services d'information et de télécommunications
Area of application en
Computer software
Area of application fr
Logiciel
Research subject code
2704
Research subject group en
Information technology
Research subject group fr
Technologie de l'information
Research subject en
Distributed and parallel processing
Research subject fr
Traitement réparti et simultané
Partie
3
Nb partie
3
Application title
Transactional Memory and Language Support for General Purpose Graphics Processors
Keyword
NSERC
Application summary
Recent shifts in technologyare creating a looming challenge for Canadian software developers. Increasing power dissipation is preventing substantial increases in clock frequencyfor the CPU at the heart of computers. While previouslymeeting often unstated software performance objectives was simplya matter of waiting for the next CPU generation to reach the market, software developers are now increasinglybeing forced to write software for the class of more power-efficient computing devices which process tasks explicitlyin parallel. These devices are exemplified bythe ""manycore"" Graphics Processing Units (GPUs) found in most personal computers sold today. Fundamentally, GPUs can offer an order of magnitude more efficient computation than CPUs (even ""multicore"" CPUs) because theydevote more silicon resources to the actual job of computation rather than to discovering what tasks might be parallel. Consequently, a rapidlygrowing number of ""GPU compute"" clusters are now being installed in large companies around the world, and GPU manufacturers (such as ATI/AMD in Canada) have begun providing programming interfaces to make it easier to write software to use GPUs for non-graphics computations. However, writing software for GPUs remains challenging due to the need for software developers to express parallelism and tune their code for the complex behavior of the hardware. Our research addresses these problems in three ways: bydeveloping hardware and software for delivering more predictable performance to software developers; bysupporting a programming model called transactional memorydirectlyin GPU hardware; and bydeveloping programming language support to ease the process of restructuring code, or automating the restructuring altogether. Together these changes will make GPUs easier to use in existing and future application domains. Our research will directlybenefit Canadian GPU manufacturers and software companies faced with meeting the challenges resulting from the shift towardsparallel computing systems.