首页> 外国专利> Framework for efficient code generation using loop peeling for SIMD loop code with multiple misaligned statements

Framework for efficient code generation using loop peeling for SIMD loop code with multiple misaligned statements

机译:使用带有多个未对齐语句的SIMD循环代码的循环剥离来高效生成代码的框架

摘要

A system and method is provided for vectorizing misaligned references in compiled code for SIMD architectures that support only aligned loads and stores. In this framework, a loop is first simdized as if the memory unit imposes no alignment constraints. The compiler then inserts data reorganization operations to satisfy the actual alignment requirements of the hardware. Finally, the code generation algorithm generates SIMD codes based on the data reorganization graph, addressing realistic issues such as runtime alignments, unknown loop bounds, residual iteration counts, and multiple statements with arbitrary alignment combinations. Loop peeling is used to reduce the computational overhead associated with misaligned data. A loop prologue and epilogue are peeled from individual iterations in the simdized loop, and vector-splicing instructions are applied to the peeled iterations, while the steady-state loop body incurs no additional computational overhead.
机译:提供了一种系统和方法,用于对仅支持对齐的加载和存储的SIMD架构的已编译代码中的未对齐引用进行矢量化处理。在此框架中,首先模拟一个循环,就好像该存储单元没有施加任何对齐约束一样。然后,编译器插入数据重组操作,以满足硬件的实际对齐要求。最终,代码生成算法根据数据重组图生成SIMD代码,解决了诸如运行时对齐,未知循环边界,剩余迭代计数以及具有任意对齐组合的多个语句之类的现实问题。循环剥离用于减少与未对齐数据相关的计算开销。循环序言和结语从模拟循环中的各个迭代中剥离,并且矢量拼接指令应用于剥离的迭代,而稳态循环主体不会产生任何额外的计算开销。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号