会员体验
专利管家(专利管理)
工作空间(专利管理)
风险监控(情报监控)
数据分析(专利分析)
侵权分析(诉讼无效)
联系我们
交流群
官方交流:
QQ群: 891211   
微信请扫码    >>>
现在联系顾问~
热词
    • 81. 发明授权
    • Single instruction multiple data (SIMD) code generation for parallel loops using versioning and scheduling
    • 使用版本控制和调度的并行循环的单指令多数据(SIMD)代码生成
    • US08341615B2
    • 2012-12-25
    • US12172199
    • 2008-07-11
    • Alexandre E. EichenbergerRaul E. SilveraAmy K. WangGuansong Zhang
    • Alexandre E. EichenbergerRaul E. SilveraAmy K. WangGuansong Zhang
    • G06F9/45G06F9/46
    • G06F8/456
    • Embodiments of the present invention address deficiencies of the art in respect to loop parallelization for a target architecture implementing a shared memory model and provide a novel and non-obvious method, system and computer program product for SIMD code generation for parallel loops using versioning and scheduling. In an embodiment of the invention, within a code compilation data processing system a parallel SIMD loop code generation method can include identifying a loop in a representation of source code as a parallel loop candidate, either through a user directive or through auto-parallelization. The method also can include selecting a trip count condition responsive to a scheduling policy set for the code compilation data processing system and also on a minimal simdizable threshold, determining a trip count and an alignment constraint for the selected loop, and generating a version of a parallel loop in the source code according to the alignment constraint and a comparison of the trip count to the trip count condition.
    • 本发明的实施例解决了实现共享存储器模型的目标架构的环路并行化方面的技术缺陷,并且提供了一种用于使用版本控制和调度的并行循环的SIMD代码生成的新颖且非显而易见的方法,系统和计算机程序产品 。 在本发明的一个实施例中,在代码编译数据处理系统中,并行SIMD循环码生成方法可以包括通过用户指令或通过自动并行化来将源代码表示中的循环识别为并行循环候选。 该方法还可以包括响应于针对代码编译数据处理系统的调度策略集以及最小可仿真阈值来选择跳闸计数条件,确定所选循环的跳闸计数和对准约束,以及生成 根据对齐约束在源代码中并行循环,并将行程计数与行程计数条件进行比较。
    • 82. 发明申请
    • Optimized Scalar Promotion with Load and Splat SIMD Instructions
    • 通过加载和Splat SIMD指令优化标量升级
    • US20120290816A1
    • 2012-11-15
    • US13555435
    • 2012-07-23
    • Alexandre E. EichenbergerMichael K. GschwindJohn A. Gunnels
    • Alexandre E. EichenbergerMichael K. GschwindJohn A. Gunnels
    • G06F9/30
    • G06F8/45
    • Mechanisms for optimizing scalar code executed on a single instruction multiple data (SIMD) engine are provided. Placement of vector operation-splat operations may be determined based on an identification of scalar and SIMD operations in an original code representation. The original code representation may be modified to insert the vector operation-splat operations based on the determined placement of vector operation-splat operations to generate a first modified code representation. Placement of separate splat operations may be determined based on identification of scalar and SIMD operations in the first modified code representation. The first modified code representation may be modified to insert or delete separate splat operations based on the determined placement of the separate splat operations to generate a second modified code representation. SIMD code may be output based on the second modified code representation for execution by the SIMD engine.
    • 提供了在单指令多数据(SIMD)引擎上执行的优化标量代码的机制。 可以基于原始代码表示中的标量和SIMD操作的标识来确定矢量操作 - 拼接操作的放置。 可以修改原始代码表示以基于所确定的向量操作 - 分组操作的放置来插入向量操作 - 拼接操作以生成第一修改代码表示。 可以基于第一修改代码表示中的标量和SIMD操作的标识来确定单独的拼接操作的放置。 可以修改第一修改代码表示以基于确定的单独splat操作的布局来插入或删除单独的splat操作以生成第二修改代码表示。 可以基于SIMD引擎执行的第二修改代码表示来输出SIMD代码。
    • 85. 发明授权
    • Efficient data reorganization to satisfy data alignment constraints
    • 有效的数据重组以满足数据对齐约束
    • US08146067B2
    • 2012-03-27
    • US12108056
    • 2008-04-23
    • Alexandre E. EichenbergerJohn Kevin Patrick O'BrienPeng Wu
    • Alexandre E. EichenbergerJohn Kevin Patrick O'BrienPeng Wu
    • G06F9/45
    • G06F8/4452
    • Vectorizing misaligned references in compiled code for SIMD architectures that support only aligned loads and stores is presented. In the framework presented herein, 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 requirement 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, residue iteration counts, and multiple statements with arbitrary alignment combinations. Beyond generating a valid simdization, a preferred embodiment further improves the quality of the generated codes. Four stream-shift placement policies are disclosed, which minimize the number of data reorganization generated by the alignment handling.
    • 介绍了仅支持对齐加载和存储的SIMD架构的编译代码中的对齐引用。 在本文提出的框架中,首先简化循环,就好像内存单元不会对齐约束。 然后,编译器插入数据重组操作,以满足硬件的实际对齐要求。 最后,代码生成算法基于数据重组图生成SIMD代码,解决诸如运行时对齐,未知循环边界,残差迭代计数以及具有任意对齐组合的多个语句之类的现实问题。 除了生成有效的simdization之外,优选实施例进一步提高了生成代码的质量。 公开了四个流移放置策略,其最小化由对齐处理产生的数据重组的数量。
    • 88. 发明授权
    • Domain stretching for an advanced dual-representation polyhedral loop transformation framework
    • 领域拉伸为先进的双重表示多面体环转换框架
    • US08087011B2
    • 2011-12-27
    • US11861503
    • 2007-09-26
    • Alexandre E. EichenbergerJohn K. P. O'BrienKathryn M. O'BrienNicolas T. Vasilache
    • Alexandre E. EichenbergerJohn K. P. O'BrienKathryn M. O'BrienNicolas T. Vasilache
    • G06F9/45G06F9/44
    • G06F8/452
    • Mechanisms for domain stretching for an advanced dual-representation polyhedral loop transformation framework are provided. The mechanisms of the illustrative embodiments address the weaknesses of the known polyhedral loop transformation based approaches by providing mechanisms for performing code generation transformations on individual statement instances in an intermediate representation generated by the polyhedral loop transformation optimization of the source code. These code generation transformations have the important property that they do not change program order of the statements in the intermediate representation. This property allows the result of the code generation transformations to be provided back to the polyhedral loop transformation mechanisms in a program statement view, via a new re-entrance path of the illustrative embodiments, for additional optimization. In addition, mechanisms are provided for stretching the domains of statements in a program loop view of the source code to thereby normalize the domains.
    • 提供了用于高级双重表示多面体环转换框架的域拉伸的机制。 说明性实施例的机制通过提供用于在通过源代码的多面体环转换优化生成的中间表示中对各个语句实例执行代码生成变换的机制来解决已知的基于多面体循环变换的方法的弱点。 这些代码生成转换具有重要的属性,它们不改变中间表示中的语句的程序顺序。 该属性允许通过示例性实施例的新的重新导入路径将代码生成转换的结果提供给程序语句视图中的多面体循环变换机制,用于附加优化。 另外,提供了用于在源代码的程序循环视图中拉伸语句的域的机制,从而使域标准化。
    • 90. 发明授权
    • Stable transitions in the presence of conditionals for an advanced dual-representation polyhedral loop transformation framework
    • 在存在高级双重表示多面体循环转换框架的条件下的稳定转换
    • US08056065B2
    • 2011-11-08
    • US11861512
    • 2007-09-26
    • Alexandre E. EichenbergerJohn K. P. O'BrienKathryn M. O'BrienNicolas T. Vasilache
    • Alexandre E. EichenbergerJohn K. P. O'BrienKathryn M. O'BrienNicolas T. Vasilache
    • G06F9/45
    • G06F8/447
    • Mechanisms for stable transitions in the presence of conditionals for an advanced dual-representation polyhedral loop transformation framework are provided. The mechanisms of the illustrative embodiments address the weaknesses of the known polyhedral loop transformation based approaches by providing mechanisms for performing code generation transformations on individual statement instances in an intermediate representation generated by the polyhedral loop transformation optimization of the source code. These code generation transformations have the important property that they do not change program order of the statements in the intermediate representation. This property allows the result of the code generation transformations to be provided back to the polyhedral loop transformation mechanisms in a program statement view, via a new re-entrance path of the illustrative embodiments, for additional optimization. In addition, mechanisms are provided for ensuring code stabilization in the presence of conditions such that code bloat is not encountered during re-entrance.
    • 提供了在高级双重表示多面体环转换框架的条件下存在稳定转换的机制。 说明性实施例的机制通过提供用于在通过源代码的多面体环转换优化生成的中间表示中对各个语句实例执行代码生成变换的机制来解决已知的基于多面体循环变换的方法的弱点。 这些代码生成转换具有重要的属性,它们不改变中间表示中的语句的程序顺序。 该属性允许通过示例性实施例的新的重新导入路径将代码生成转换的结果提供给程序语句视图中的多面体循环变换机制,用于附加优化。 此外,还提供了在存在条件的情况下确保代码稳定的机制,使得在重入期间不会遇到代码膨胀。