With the advent of multi-core systems, GPUs and FPGAs, loop parallelization has become a promising way to speed-up program execution. In order to stay up with time, various performance-oriented programming languages provide a multitude of constructs to allow programmers to write parallelizable loops. Correspondingly, researchers have developed techniques to automatically parallelize loops that do not carry dependences across iterations, and/or call pure functions. However, in managed languages with platform-independent runtimes such as Java, it is practically infeasible to perform complex dependence analysis during JIT compilation. In this paper, we propose AutoTornado, a first of its kind static+JIT loop parallelizer for Java programs that...
Abstract—Many existing sequential components, libraries, and applications will need to be re-enginee...
The class of problems that can be effectively compiled by parallelizing compilers is discussed. This...
GPUs (Graphics Processing Unit) and other accelerators are nowadays commonly found in ...
AbstractThe exploitation of parallelism among traces, i.e. hot paths of execution in programs, is a ...
We propose two new approaches that automatically parallelize Java programs at runtime. These approac...
The GPU-based heterogeneous architectures (e.g., Tianhe-1A, Nebulae), composing multi-core CPU and G...
The performance of parallel code significantly depends on the parallel task granularity (PTG). If th...
Method speculation of object-oriented programs attempts to exploit method-level parallelism (MLP) by...
The goal of parallelizing, or restructuring, compilers is to detect and exploit parallelism in seque...
In the multicore era, sequential programs need to be refactored for parallelism. The next version of...
Parallelization is a technique that boosts the performance of a program beyond optimizations of the ...
Compute intensive programs generally consume significant fraction of execution time in a small amoun...
The Java programming language has a number of features that make it attractive for writing high-qual...
We present a novel automatic parallelization approach that uses traces. Our approach uses a binary r...
The quest to automatically parallelize general-purpose programs is a longstanding problem in the mic...
Abstract—Many existing sequential components, libraries, and applications will need to be re-enginee...
The class of problems that can be effectively compiled by parallelizing compilers is discussed. This...
GPUs (Graphics Processing Unit) and other accelerators are nowadays commonly found in ...
AbstractThe exploitation of parallelism among traces, i.e. hot paths of execution in programs, is a ...
We propose two new approaches that automatically parallelize Java programs at runtime. These approac...
The GPU-based heterogeneous architectures (e.g., Tianhe-1A, Nebulae), composing multi-core CPU and G...
The performance of parallel code significantly depends on the parallel task granularity (PTG). If th...
Method speculation of object-oriented programs attempts to exploit method-level parallelism (MLP) by...
The goal of parallelizing, or restructuring, compilers is to detect and exploit parallelism in seque...
In the multicore era, sequential programs need to be refactored for parallelism. The next version of...
Parallelization is a technique that boosts the performance of a program beyond optimizations of the ...
Compute intensive programs generally consume significant fraction of execution time in a small amoun...
The Java programming language has a number of features that make it attractive for writing high-qual...
We present a novel automatic parallelization approach that uses traces. Our approach uses a binary r...
The quest to automatically parallelize general-purpose programs is a longstanding problem in the mic...
Abstract—Many existing sequential components, libraries, and applications will need to be re-enginee...
The class of problems that can be effectively compiled by parallelizing compilers is discussed. This...
GPUs (Graphics Processing Unit) and other accelerators are nowadays commonly found in ...