Learn More
In previous work, we presented a framework for unifying iteration reordering transformations such as loop interchange, loop distribution, loop skewing and statement reordering. The framework provides a uniform way to represent and reason about transformations. However, it does not provide a way to decide which transformation(s) should be applied to a given(More)
All existing methods for automated data/computation decomposition share a common failing: they are very sensitive to the original loop structure of the program. While they find a good decomposition for that loop structure, it may be possible to apply transformations (such as loop interchange and distribution) so that a different decomposition gives even(More)
Existing cycle-stealing frameworks are generally based on simple client-server or hierarchical style ar-chitectures. G2:P2P moves cycle-stealing into the " pure " peer-to-peer (P2P), or fully decentralised arena, removing the bottleneck and single point of failure that centralised systems suffer from. Additionally , by utilising direct P2P communication,(More)
With the emergence of multi-cores into the mainstream, there is a growing need for systems to allow programmers and automated systems to reason about data dependencies and inherent parallelism in imperative object-oriented languages. In this paper we exploit the structure of object-oriented programs to abstract computational side-effects. We capture and(More)