首页> 外文会议>International Conference on High Performance Computing >Speculative dynamic vectorization to assist static vectorization in a HW/SW co-designed environment
【24h】

Speculative dynamic vectorization to assist static vectorization in a HW/SW co-designed environment

机译:在硬件/软件协同设计的环境中支持动态矢量化的推测性动态矢量化

获取原文

摘要

Compiler based static vectorization is used widely to extract data level parallelism from computation intensive applications. Static vectorization is very effective in vectorizing traditional array based applications. However, compilers inability to reorder ambiguous memory references severely limits vectorization opportunities, especially in pointer rich applications. HW/SW co-designed processors provide an excellent opportunity to optimize the applications at runtime. The availability of dynamic application behavior at runtime will help in capturing vectorization opportunities generally missed by the compilers. This paper proposes to complement the static vectorization with a speculative dynamic vectorizer in a HW/SW co-design processor. We present a speculative dynamic vectorization algorithm that speculatively reorders ambiguous memory references to uncover vectorization opportunities. The hardware checks for any memory dependence violation due to speculative vectorization and takes corrective action in case of violation. Our experiments show that the combined (static + dynamic) vectorization approach provides 2x performance benefit compared to the static vectorization alone, for SPECFP2006. Moreover, dynamic vectorization scheme is as effective in vectorization of pointer-based applications as for the array-based ones, whereas compilers lose significant vectorization opportunities in pointer-based applications.
机译:基于编译器的静态矢量化被广泛用于从计算密集型应用程序中提取数据级并行性。静态向量化在向量化传统的基于数组的应用程序中非常有效。但是,编译器无法对模糊的内存引用进行重新排序,严重限制了矢量化的机会,尤其是在指针丰富的应用程序中。硬件/软件共同设计的处理器为在运行时优化应用程序提供了极好的机会。运行时动态应用程序行为的可用性将有助于捕获编译器通常错过的矢量化机会。本文提出使用硬件/软件协同设计处理器中的推测动态矢量化器来补充静态矢量化。我们提出了一种推测性动态矢量化算法,该算法以推测方式重新排序模糊的内存引用,以发现矢量化机会。硬件检查由于推测性矢量化而引起的任何内存依赖冲突,并在发生冲突时采取纠正措施。我们的实验表明,对于SPECFP2006,组合的(静态+动态)矢量化方法与单独的静态矢量化相比,性能提高了2倍。此外,动态矢量化方案在基于指针的应用程序的矢量化中与基于数组的应用程序一样有效,而编译器在基于指针的应用程序中却失去了巨大的矢量化机会。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号