Vectorisation avoidance
Vectorisation avoidance
复制标题
避免矢量化
DOI:
10.1145/2364506.2364512
复制
发表时间:
2013
期刊:
影响因子:
--
通讯作者:
S. Jones
中科院分区:
文献类型:
--
作者:
G. Keller;M. Chakravarty;Roman Leshchinskiy;B. Lippmeier;S. Jones
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.