Method of SIMD-ization through data reshaping, padding, and alignment
    3.
    发明授权
    Method of SIMD-ization through data reshaping, padding, and alignment 失效
    通过数据整形,填充和对齐进行SIMD化的方法

    公开(公告)号:US07856627B2

    公开(公告)日:2010-12-21

    申请号:US11463031

    申请日:2006-08-08

    IPC分类号: G06F9/45

    CPC分类号: G06F8/443

    摘要: A method for handling Simple Instruction Multiple Data (SIMD) architecture restrictions through data reshaping, padding, and alignment, including: building a global call graph; creating array descriptors for maintaining array attributes; gathering array affinity information; performing global pointer analysis and escape analysis; performing loop-based analysis to identify a SIMD opportunity; building an array affinity graph; performing graph partitioning on the array affinity graph to construct an array reshaping plan; performing data reshaping on the array affinity graph; and performing SIMDization on the array affinity graph wherein SIMDization comprises automatic generation of SIMD code.

    摘要翻译: 一种通过数据整形,填充和对齐来处理简单指令多数据(SIMD)架构限制的方法,包括:构建全局调用图; 创建用于维护数组属性的数组描述符; 收集数组关联信息; 执行全局指针分析和逃逸分析; 执行循环分析以识别SIMD机会; 构建数组关联图; 在阵列关联图上执行图形划分以构造阵列整形计划; 在数组关联图上执行数据整形; 并在阵列亲和度图上执行SIMDization,其中SIMDization包括自动生成SIMD码。

    Compiler with cache utilization optimizations
    4.
    发明授权
    Compiler with cache utilization optimizations 失效
    具有缓存利用率优化的编译器

    公开(公告)号:US07765534B2

    公开(公告)日:2010-07-27

    申请号:US10835756

    申请日:2004-04-30

    IPC分类号: G06F9/45

    CPC分类号: G06F8/4442

    摘要: A compiling program with cache utilization optimizations employs an inter-procedural global analysis of the data access patterns of compile units to be processed. The global analysis determines sufficient information to allow intelligent application of optimization techniques to be employed to enhance the operation and utilization of the available cache systems on target hardware.

    摘要翻译: 具有缓存利用率优化的编译程序采用对要处理的编译单元的数据访问模式的跨过程全局分析。 全局分析确定足够的信息,以允许智能应用优化技术来增强目标硬件上可用的高速缓存系统的操作和利用。

    SYSTEMS, METHODS, AND COMPUTER PRODUCTS FOR IMPLEMENTING SHADOW VERSIONING TO IMPROVE DATA DEPENDENCE ANALYSIS FOR INSTRUCTION SCHEDULING
    5.
    发明申请
    SYSTEMS, METHODS, AND COMPUTER PRODUCTS FOR IMPLEMENTING SHADOW VERSIONING TO IMPROVE DATA DEPENDENCE ANALYSIS FOR INSTRUCTION SCHEDULING 失效
    用于实施阴影版本的系统,方法和计算机产品,以提高数据依赖性分析的指导性调度

    公开(公告)号:US20090064121A1

    公开(公告)日:2009-03-05

    申请号:US11846910

    申请日:2007-08-29

    IPC分类号: G06F9/45

    CPC分类号: G06F8/443

    摘要: Systems, methods and computer products for implementing shadow versioning to improve data dependence analysis for instruction scheduling. Exemplary embodiments include a method to identify loops within the code to be compiled, for each loop a dependence initializing a matrix, for each loop shadow identifying symbols that are accessed by the loop, examining dependencies, storing, comparing and classifying the dependence vectors, generating new shadow symbols, replacing the old shadow symbols with the new shadow symbols, generating alias relationships between the newly created shadow symbols, scheduling instructions and compiling the code.

    摘要翻译: 用于实现影子版本化的系统,方法和计算机产品,以改进指令调度的数据依赖性分析。 示例性实施例包括一种用于识别要编译的代码内的循环的方法,对于每个循环,依赖性初始化矩阵,对于每个循环阴影,识别由循环访问的符号,检查依赖性,存储,比较和分类依赖向量,生成 新的阴影符号,用新的阴影符号替换旧的阴影符号,在新创建的阴影符号之间生成别名关系,调度指令和编译代码。

    METHOD OF SIMD-IZATION THROUGH DATA RESHAPING, PADDING, AND ALIGNMENT
    6.
    发明申请
    METHOD OF SIMD-IZATION THROUGH DATA RESHAPING, PADDING, AND ALIGNMENT 失效
    通过数据重新绘制,贴图和对齐的SIMD-IZZ方法

    公开(公告)号:US20080052693A1

    公开(公告)日:2008-02-28

    申请号:US11463031

    申请日:2006-08-08

    IPC分类号: G06F9/45

    CPC分类号: G06F8/443

    摘要: A method for handling Simple Instruction Multiple Data (SIMD) architecture restrictions through data reshaping, padding, and alignment, including: building a global call graph; creating array descriptors for maintaining array attributes; gathering array affinity information; performing global pointer analysis and escape analysis; performing loop-based analysis to identify a SIMD opportunity; building an array affinity graph; performing graph partitioning on the array affinity graph to construct an array reshaping plan; performing data reshaping on the array affinity graph; and performing SIMDization on the array affinity graph wherein SIMDization comprises automatic generation of SIMD code.

    摘要翻译: 一种通过数据整形,填充和对齐来处理简单指令多数据(SIMD)架构限制的方法,包括:构建全局调用图; 创建用于维护数组属性的数组描述符; 收集数组关联信息; 执行全局指针分析和逃逸分析; 执行循环分析以识别SIMD机会; 构建数组关联图; 在阵列关联图上执行图形划分以构造阵列整形计划; 在数组关联图上执行数据整形; 并在阵列亲和度图上执行SIMDization,其中SIMDization包括自动生成SIMD码。

    FRAMEWORK FOR PARALLELIZING GENERAL REDUCTION
    7.
    发明申请
    FRAMEWORK FOR PARALLELIZING GENERAL REDUCTION 失效
    平行一般减少的框架

    公开(公告)号:US20080052689A1

    公开(公告)日:2008-02-28

    申请号:US11461863

    申请日:2006-08-02

    IPC分类号: G06F9/45 G06F9/44

    CPC分类号: G06F8/452

    摘要: A method for providing parallel processing capabilities including: performing scalar and array privatization analysis via a compiler; checking whether an assignment statement is reducible; recognizing reduction patterns through a pattern matching algorithm; classifying a reduction type of each of the reduction patterns; and performing transformations and code generation for each reduction the reduction type of each of the reduction patterns.

    摘要翻译: 一种提供并行处理能力的方法,包括:通过编译器进行标量和阵列私有化分析; 检查一个赋值语句是否可以减少; 通过模式匹配算法识别缩减模式; 对每种减少模式的减少类型进行分类; 并且对每个减少模式的每个还原类型进行每个缩减执行变换和代码生成。

    Fine-grained software-directed data prefetching using integrated high-level and low-level code analysis optimizations
    8.
    发明授权
    Fine-grained software-directed data prefetching using integrated high-level and low-level code analysis optimizations 有权
    使用集成的高级和低级代码分析优化进行细粒度的软件导向数据预取

    公开(公告)号:US08413127B2

    公开(公告)日:2013-04-02

    申请号:US12644756

    申请日:2009-12-22

    IPC分类号: G06F9/44 G06F9/45 G06F9/30

    CPC分类号: G06F8/4442

    摘要: A mechanism for minimizing effective memory latency without unnecessary cost through fine-grained software-directed data prefetching using integrated high-level and low-level code analysis and optimizations is provided. The mechanism identifies and classifies streams, identifies data that is most likely to incur a cache miss, exploits effective hardware prefetching to determine the proper number of streams to be prefetched, exploits effective data prefetching on different types of streams in order to eliminate redundant prefetching and avoid cache pollution, and uses high-level transformations with integrated lower level cost analysis in the instruction scheduler to schedule prefetch instructions effectively.

    摘要翻译: 提供了一种通过使用集成高级和低级代码分析和优化的细粒度软件导向数据预取来最小化有效存储器延迟而不需要成本的机制。 该机制识别和分类流,识别最可能引起缓存未命中的数据,利用有效的硬件预取来确定要预取的流的适当数量,利用不同类型的流上的有效数据预取,以消除冗余预取和 避免高速缓存污染,并在指令调度程序中使用集成较低级别成本分析的高级转换,有效地调度预取指令。

    MAY-CONSTANT PROPAGATION
    9.
    发明申请
    MAY-CONSTANT PROPAGATION 失效
    可持续传播

    公开(公告)号:US20110072419A1

    公开(公告)日:2011-03-24

    申请号:US12888230

    申请日:2010-09-22

    IPC分类号: G06F9/45

    CPC分类号: G06F8/43

    摘要: May-constant propagation is a technique used to propagate a constant through the call graph and control flow graph by ignoring possible kills and re-definitions with low probability. Variables associated with constants in program code are determined. Execution flow probabilities are executed for code segments of the program code that comprise the variables. The execution flow probabilities are calculated based on flow data for the program code. At least a first of the code segments is determined to have a high execution flow probability. The first of the constants associated with the first variable are propagated through the flow data to generate modified flow data.

    摘要翻译: 可能常数传播是一种用于通过忽略可能的死亡和低概率重定义来通过调用图和控制流程图传播常量的技术。 确定与程序代码中的常量相关联的变量。 对包含变量的程序代码的代码段执行执行流概率。 基于程序代码的流程数据计算执行流概率。 至少第一代码段被确定为具有高的执行流概率。 与第一个变量关联的第一个常量通过流数据传播,以产生修改的流数据。

    Systems, Methods, And Computer Products For Compiler Support For Aggressive Safe Load Speculation
    10.
    发明申请
    Systems, Methods, And Computer Products For Compiler Support For Aggressive Safe Load Speculation 失效
    用于编译器支持的系统,方法和计算机产品进行安全负载投机

    公开(公告)号:US20090064119A1

    公开(公告)日:2009-03-05

    申请号:US11845491

    申请日:2007-08-27

    IPC分类号: G06F9/45

    CPC分类号: G06F8/4441

    摘要: Systems, methods and computer products for compiler support for aggressive safe load speculation. Exemplary embodiments include a method for aggressive safe load speculation for a compiler in a computer system, the method including building a control flow graph, identifying both countable and non-countable loops, gathering a set of candidate loops for load speculation, for each candidate loop in the set of candidate loops gathered for load speculation performing computing an estimate of the iteration count, delay cycles, and code size, performing a profitability analysis and determine an unroll factor based on the delay cycles and the code size, transforming the loop by generating a prologue loop to achieve data alignment and an unrolled main loop with loop directives, indicating which loads can safely be executed speculatively and performing low-level instruction on the generated unrolled main loop.

    摘要翻译: 用于编译器的系统,方法和计算机产品支持攻击性安全负载推测。 示例性实施例包括用于计算机系统中的编译器的积极安全负载推测的方法,所述方法包括建立控制流程图,识别可计数循环和不​​可计数循环,为每个候选循环收集用于负载推测的一组候选循环 在针对负载推测而收集的候选循环集合中,执行计算迭代计数,延迟周期和代码大小的估计,执行盈利能力分析并基于延迟周期和代码大小来确定展开因子,通过生成 用于实现数据对齐的序言循环和循环指令的展开主循环,指示哪些负载可以安全地推测执行,并对生成的非滚动主循环执行低级指令。