Vectorisation avoidance

Vectorisation avoidance
复制标题

避免矢量化

DOI:
10.1145/2364506.2364512
复制
发表时间:
2013
期刊:
Statistical science : a review journal of the Institute of Mathematical Statistics
影响因子:
--
通讯作者:
S. Jones
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.