z-logo
open-access-imgOpen Access
Vectorisation avoidance
Author(s) -
Gabriele Keller,
Manuel M. T. Chakravarty,
Roman Leshchinskiy,
Ben Lippmeier,
Simon Peyton Jones
Publication year - 2012
Publication title -
citeseer x (the pennsylvania state university)
Language(s) - English
Resource type - Conference proceedings
ISSN - 0362-1340
DOI - 10.1145/2364506.2364512
Subject(s) - flattening , computer science , code (set theory) , parallelism (grammar) , parallel computing , overhead (engineering) , programming language , algorithm , set (abstract data type) , materials science , composite material
Flattening nested parallelism is a vectorising code transform that converts irregular nested parallelism into flat data parallelism. Although the result has good asymptotic performance, flattening thoroughly restructures the code. Many intermediate data structures and traversals are introduced, which may or may not be eliminated by subsequent optimisation. We present a novel program analysis to identify parts of the program where flattening would only introduce overhead, without appropriate gain. We present empirical evidence that avoiding vectorisation in these cases leads to more efficient programs than if we had applied vectorisation and then relied on array fusion to eliminate intermediates from the resulting code.

The content you want is available to Zendy users.

Already have an account? Click here to sign in.
Having issues? You can contact us here
Accelerating Research

Address

John Eccles House
Robert Robinson Avenue,
Oxford Science Park, Oxford
OX4 4GP, United Kingdom