首页> 外国专利> Efficient generation of SIMD code in presence of multi-threading and other false sharing conditions and in machines having memory protection support

Efficient generation of SIMD code in presence of multi-threading and other false sharing conditions and in machines having memory protection support

机译:在存在多线程和其他错误共享条件的情况下以及在具有内存保护支持的机器中有效生成SIMD代码

摘要

A computer implemented method, system and computer program product for automatically generating SIMD code, particularly in the presence of multi-threading and other false sharing conditions, and in machines having a segmented/virtual page memory protection system. The method begins by analyzing data to be accessed by a targeted loop including at least one statement, where each statement has at least one memory reference, to determine if memory accesses are safe. If memory accesses are safe, the targeted loop is simdized. If not safe, it is determined if a scheme can be applied in which safety need not be guaranteed. If such a scheme can be applied, the scheme is applied and the targeted loop is simdized according to the scheme. If such a scheme cannot be applied, it is determined if padding is appropriate. If padding is appropriate, the data is padded and the targeted loop is simdized. If padding is not appropriate, non-simdized code is generated based on the targeted loop for handling boundary conditions, the targeted loop is simdized, and the simdized targeted loop is combined with the non-simdized code.
机译:一种计算机实现的方法,系统和计算机程序产品,用于自动生成SIMD代码,尤其是在存在多线程和其他错误共享条件的情况下,以及在具有分段/虚拟页面内存保护系统的机器中。该方法开始于分析要由包括至少一个语句的目标循环访问的数据,其中每个语句具有至少一个存储器引用,以确定存储器访问是否安全。如果内存访问是安全的,则将模拟目标循环。如果不安全,则确定是否可以应用不需要保证安全的方案。如果可以采用这种方案,则采用该方案,并根据该方案模拟目标循环。如果不能应用这种方案,则确定填充是否合适。如果需要填充,则填充数据并模拟目标循环。如果不适合填充,则基于目标循环生成非模拟代码以处理边界条件,对目标循环进行模拟,然后将模拟后的目标循环与非模拟代码组合。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号