会员体验
专利管家(专利管理)
工作空间(专利管理)
风险监控(情报监控)
数据分析(专利分析)
侵权分析(诉讼无效)
联系我们
交流群
官方交流:
QQ群: 891211   
微信请扫码    >>>
现在联系顾问~
热词
    • 6. 发明申请
    • SETJMP/LONGJMP FOR SPECULATIVE EXECUTION FRAMEWORKS
    • 用于统一执行框架的SETJMP / LONGJMP
    • US20110289303A1
    • 2011-11-24
    • US13026702
    • 2011-02-14
    • Raul Esteban SilveraKai-Ting Amy WangPeng WuMark Wayne YamashitaXiaotong Zhuang
    • Raul Esteban SilveraKai-Ting Amy WangPeng WuMark Wayne YamashitaXiaotong Zhuang
    • G06F9/312
    • G06F9/3842G06F9/3004G06F9/30054G06F9/30087G06F9/4484
    • A process for check pointing in speculative execution frameworks, identifies calls to a set of setjmp/longjmp instructions to form identified calls to setjmp/longjmp, determines a control flow path between a call to a setjmp and a longjmp pair of instructions in the identified calls to setjmp/longjmp and replaces calls to the setjmp/longjmp pair of instructions with calls to an improved_setjmp and improved_longjmp instruction pair. The process creates a context data structure in memory, computes a non-volatile save/restore set and replaces the call to improved_setjmp of the setjmp/longjmp pair of instructions with instructions to save all required non-volatile and special purpose registers and replaces a call to improved_longjmp of the setjmp/longjmp pair of instructions with instructions to restore all required non-volatile and special purpose registers and to branch to an instruction immediately following a block of code containing the call to improved_setjmp.
    • 用于检查指向推测执行框架的过程,识别对一组setjmp / longjmp指令的调用以形成对setjmp / longjmp的标识的调用,确定在所识别的呼叫中对setjmp的调用和longjmp指令之间的控制流路径 到setjmp / longjmp,并且通过调用一个improved_setjmp和improved_longjmp指令对来替换对setjmp / longjmp指令对的调用。 该过程在内存中创建一个上下文数据结构,计算一个非易失性存储/恢复集,并用setjmp / longjmp指令对来替换一个改进_setjmp的调用,其中包含所有需要的非易失性和特殊用途寄存器的指令,并替换一个调用 到具有用于恢复所有需要的非易失性和特殊目的寄存器的指令的setjmp / longjmp指令指令的改进_longjmp,并且分支到紧跟在包含对converted_setjmp的调用的代码块之后的指令。
    • 9. 发明授权
    • Framework for efficient code generation using loop peeling for SIMD loop code with multiple misaligned statements
    • 使用循环剥离的高效代码生成框架,用于具有多个不对齐语句的SIMD循环代码
    • US07395531B2
    • 2008-07-01
    • US10918879
    • 2004-08-16
    • Alexandre E. EichenbergerKai-Ting Amy WangPeng Wu
    • Alexandre E. EichenbergerKai-Ting Amy WangPeng Wu
    • G06F9/45G06F15/00
    • G06F8/447G06F8/4441
    • 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代码,解决诸如运行时对齐,未知循环边界,残差迭代计数以及具有任意对齐组合的多个语句之类的现实问题。 循环剥离用于减少与未对齐数据相关的计算开销。 循环序言和结语在模拟循环中从单独迭代中去除,向量拼接指令被应用于剥离的迭代,而稳态循环体不引起额外的计算开销。
    • 10. 发明授权
    • Framework for integrated intra- and inter-loop aggregation of contiguous memory accesses for SIMD vectorization
    • 用于SIMD向量化的连续存储器访问的集成的内部和组间集成的框架
    • US07367026B2
    • 2008-04-29
    • US10919115
    • 2004-08-16
    • Alexandre E. EichenbergerKai-Ting Amy WangPeng Wu
    • Alexandre E. EichenbergerKai-Ting Amy WangPeng Wu
    • G06F9/45G06F15/00G06F7/52
    • G06F8/4452G06F8/445
    • A method, computer program product, and information handling system for generating loop code to execute on Single-Instruction Multiple-Datapath (SIMD) architectures, where the loop contains multiple non-stride-one memory accesses that operate over a contiguous stream of memory is disclosed. A preferred embodiment identifies groups of isomorphic statements within a loop body where the isomorphic statements operate over a contiguous stream of memory over the iteration of the loop. Those identified statements are then converted into virtual-length vector operations. Next, the hardware's available vector length is used to determine a number of virtual-length vectors to aggregate into a single vector operation for each iteration of the loop. Finally, the aggregated, vectorized loop code is converted into SIMD operations.
    • 一种用于生成在单指令多数据路径(SIMD)架构上执行的循环码的方法,计算机程序产品和信息处理系统,其中循环包含在连续的存储器流上操作的多个非步进存储器访问 披露 优选实施例识别在循环体内同构语句的组,其中同构语句在循环的迭代上在连续的存储器流上操作。 然后将那些识别的语句转换为虚拟长度向量操作。 接下来,使用硬件的可用向量长度来确定多个虚拟长度向量以聚合到单个向量操作中,用于循环的每次迭代。 最后,聚合的向量化循环码被转换成SIMD操作。