This thesis addresses issues associated with efficiently programming modern heterogeneous GPU-based systems, containing multicore CPUs and one or more programmable Graphics Processing Units (GPUs). We use ideas from component-based programming to address programming, performance and portability issues of these heterogeneous systems. Specifically, we present three approaches that all use the idea of having multiple implementations for each computation; performance is achieved/retained either a) by selecting a suitable implementation for each computation on a given platform or b) by dividing the computation work across different implementations running on CPU and GPU devices in parallel. In the first approach, we work on a skeleton programmin...
It is well acknowledged that the dominant mechanism for scaling processor performance has become to ...
As the demand increases for high performance and power efficiency in modern computer runtime systems...
<p>Heterogeneous architectures consisting of general-purpose CPUs and throughput-optimized GPUs are ...
Abstract—User-level components of applications can be made performance-aware by annotating them with...
Because of tight power and energy constraints, industry is progressively shifting toward heterogeneo...
The diversity of microarchitecture designs in heterogeneous computing systems allows programs to ach...
The Graphics Processing Unit (GPU) is present in almost every modern day personal computer. Despite...
Traditional embedded systems are evolving into heterogeneous systems in order to address new and mor...
A major shift in technology from maximizing single-core performance to integrating multiple cores ha...
The relentless demands for improvements in the compute throughput, and energy efficiency have driven...
A trend that has materialized, and has given rise to much atten-tion, is of the increasingly heterog...
Graphics Processing Units (GPU) have been widely adopted to accelerate the execution of HPC workload...
This is the author’s version of invited paper: Usman Dastgeer, Christoph Kessler. A step towards per...
Abstract. User-level components can expose multiple functionally equi-valent implementations with di...
[ACCESS RESTRICTED TO THE UNIVERSITY OF MISSOURI AT REQUEST OF AUTHOR.] As computers began to reach ...
It is well acknowledged that the dominant mechanism for scaling processor performance has become to ...
As the demand increases for high performance and power efficiency in modern computer runtime systems...
<p>Heterogeneous architectures consisting of general-purpose CPUs and throughput-optimized GPUs are ...
Abstract—User-level components of applications can be made performance-aware by annotating them with...
Because of tight power and energy constraints, industry is progressively shifting toward heterogeneo...
The diversity of microarchitecture designs in heterogeneous computing systems allows programs to ach...
The Graphics Processing Unit (GPU) is present in almost every modern day personal computer. Despite...
Traditional embedded systems are evolving into heterogeneous systems in order to address new and mor...
A major shift in technology from maximizing single-core performance to integrating multiple cores ha...
The relentless demands for improvements in the compute throughput, and energy efficiency have driven...
A trend that has materialized, and has given rise to much atten-tion, is of the increasingly heterog...
Graphics Processing Units (GPU) have been widely adopted to accelerate the execution of HPC workload...
This is the author’s version of invited paper: Usman Dastgeer, Christoph Kessler. A step towards per...
Abstract. User-level components can expose multiple functionally equi-valent implementations with di...
[ACCESS RESTRICTED TO THE UNIVERSITY OF MISSOURI AT REQUEST OF AUTHOR.] As computers began to reach ...
It is well acknowledged that the dominant mechanism for scaling processor performance has become to ...
As the demand increases for high performance and power efficiency in modern computer runtime systems...
<p>Heterogeneous architectures consisting of general-purpose CPUs and throughput-optimized GPUs are ...