Title
Vectorisation avoidance
Abstract
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.
Year
DOI
Venue
2012
10.1145/2364506.2364512
Haskell
Keywords
DocType
Volume
irregular nested parallelism,vectorising code,nested parallelism,novel program analysis,efficient program,array fusion,flat data parallelism,intermediate data structure,appropriate gain,Vectorisation avoidance,resulting code
Conference
47
Issue
ISSN
Citations 
12
0362-1340
4
PageRank 
References 
Authors
0.43
12
5
Name
Order
Citations
PageRank
Gabriele Keller165736.02
Manuel M.T. Chakravarty21707.02
Roman Leshchinskiy332614.89
Ben Lippmeier41357.99
Simon L. Peyton Jones55036381.19