Parallel computing hardware is ubiquitous, ranging from cell-phones with multiple cores to super-computers with hundreds of thousands of cores. Applications need to take advantage of this parallelism to reduce the time required for their execution as well as to scale to larger input sizes. This has proved to be very challenging because programmers are used to thinking serially, and because current programming notations for writing parallel software are very low level and hard to use in general. At the same time, new problem domains like social network analysis and data analytics are giving rise to "irregular'" applications that have far more complicated patterns of parallelism and locality than applications in more traditional parallel comp...
Combinatorial algorithms have long played apivotal enabling role in many applications of parallel co...
Task graphs or dependence graphs are used in runtime systems to schedule tasks for parallel executio...
Many real world scientific computing problems are irregular and dynamic, which pose great challenge ...
The consistent growth of DRAM memory bandwidth and capacity has enabled the computation of increasin...
Sequential graph algorithms are implemented through ordered execution of tasks to achieve high work ...
The goal of parallelizing, or restructuring, compilers is to detect and exploit parallelism in seque...
We present Swarm, a novel architecture that exploits ordered irregular parallelism, which is abundan...
The last several years have seen multicore architectures become ascendant in the computing world. As...
Parallel computing promises several orders of magnitude increase in our ability to solve realistic c...
Irregular applications have frequent data-dependent memory accesses and control flow. They arise in ...
this article we investigate the trade-off between time and space efficiency in scheduling and execut...
Combinatorial algorithms have long played apivotal enabling role in many applications of parallel co...
Specialized accelerators are increasingly attractive solutions to continue expected generational per...
Optimistic parallelization is a promising approach for the parallelization of irregular algorithms: ...
Abstract—In this work, we address the problem of scheduling loops with dependences in the context of...
Combinatorial algorithms have long played apivotal enabling role in many applications of parallel co...
Task graphs or dependence graphs are used in runtime systems to schedule tasks for parallel executio...
Many real world scientific computing problems are irregular and dynamic, which pose great challenge ...
The consistent growth of DRAM memory bandwidth and capacity has enabled the computation of increasin...
Sequential graph algorithms are implemented through ordered execution of tasks to achieve high work ...
The goal of parallelizing, or restructuring, compilers is to detect and exploit parallelism in seque...
We present Swarm, a novel architecture that exploits ordered irregular parallelism, which is abundan...
The last several years have seen multicore architectures become ascendant in the computing world. As...
Parallel computing promises several orders of magnitude increase in our ability to solve realistic c...
Irregular applications have frequent data-dependent memory accesses and control flow. They arise in ...
this article we investigate the trade-off between time and space efficiency in scheduling and execut...
Combinatorial algorithms have long played apivotal enabling role in many applications of parallel co...
Specialized accelerators are increasingly attractive solutions to continue expected generational per...
Optimistic parallelization is a promising approach for the parallelization of irregular algorithms: ...
Abstract—In this work, we address the problem of scheduling loops with dependences in the context of...
Combinatorial algorithms have long played apivotal enabling role in many applications of parallel co...
Task graphs or dependence graphs are used in runtime systems to schedule tasks for parallel executio...
Many real world scientific computing problems are irregular and dynamic, which pose great challenge ...