Since processor performance scalability will now mostly be achieved through thread-level parallelism, there is a strong incen- tive to parallelize a broad range of applications, including those with complex control flow and data structures. And writing par- allel programs is a notoriously difficult task. Beyond processor performance, the architect can help by facilitating the task of the programmer, especially by simplifying the model exposed to the programmer. In this article, among the many issues associated with writing par- allel programs, we focus on finding the appropriate parallelism granularity, and efficiently mapping tasks with complex control and data flow to threads. We propose to relieve the user and com- piler of both tasks by dele...
A hardware implementation can bring orders of magnitude improvements in performance and energy cons...
textExtracting high-performance from Chip Multiprocessors (CMPs) requires that the application be pa...
This dissertation has two parts, one addressing issues in the area of computer-aided software develo...
Since processor performance scalability will now mostly be achieved through thread-level parallelism...
Parallel hardware1 has become a ubiquitous component in computer processing technology. Uniprocessor...
There is an increasing need for a framework that supports research on portable high-performance para...
With ubiquitous multi-core architectures, a major challenge is how to effectively use these machines...
Parallel programming involves finding the potential parallelism in an application, choosing an algor...
Component-based programming has been applied to ad-dress the requirements of High Performance Comput...
As the demand increases for high performance and power efficiency in modern computer runtime systems...
High-level synthesis (HLS) can automatically synthesize software to hardware. With the design specif...
Many sequential applications are difficult to parallelize because of unpredictable control flow, ind...
The most important features that a parallel programming language should provide are portability, mod...
This thesis by publications addresses issues in the architecture and microarchitecture of next gener...
International audienceOver the past decade, many programming languages and systems for parallel-comp...
A hardware implementation can bring orders of magnitude improvements in performance and energy cons...
textExtracting high-performance from Chip Multiprocessors (CMPs) requires that the application be pa...
This dissertation has two parts, one addressing issues in the area of computer-aided software develo...
Since processor performance scalability will now mostly be achieved through thread-level parallelism...
Parallel hardware1 has become a ubiquitous component in computer processing technology. Uniprocessor...
There is an increasing need for a framework that supports research on portable high-performance para...
With ubiquitous multi-core architectures, a major challenge is how to effectively use these machines...
Parallel programming involves finding the potential parallelism in an application, choosing an algor...
Component-based programming has been applied to ad-dress the requirements of High Performance Comput...
As the demand increases for high performance and power efficiency in modern computer runtime systems...
High-level synthesis (HLS) can automatically synthesize software to hardware. With the design specif...
Many sequential applications are difficult to parallelize because of unpredictable control flow, ind...
The most important features that a parallel programming language should provide are portability, mod...
This thesis by publications addresses issues in the architecture and microarchitecture of next gener...
International audienceOver the past decade, many programming languages and systems for parallel-comp...
A hardware implementation can bring orders of magnitude improvements in performance and energy cons...
textExtracting high-performance from Chip Multiprocessors (CMPs) requires that the application be pa...
This dissertation has two parts, one addressing issues in the area of computer-aided software develo...