会员体验
专利管家(专利管理)
工作空间(专利管理)
风险监控(情报监控)
数据分析(专利分析)
侵权分析(诉讼无效)
联系我们
交流群
官方交流:
QQ群: 891211   
微信请扫码    >>>
现在联系顾问~
热词
    • 1. 发明申请
    • METHOD OF PROCEDURE CONTROL DESCRIPTOR-BASED CODE SPECIALIZATION FOR CONTEXT SENSITIVE MEMORY DISAMBIGUATION
    • 程序控制方法基于描述符的中继敏感记忆体解析专用化
    • US20080301656A1
    • 2008-12-04
    • US11757941
    • 2007-06-04
    • Roch Georges ArchambaultShimin CuiYaoqing GaoRaul Esteban SilveraPeng Zhao
    • Roch Georges ArchambaultShimin CuiYaoqing GaoRaul Esteban SilveraPeng Zhao
    • G06F9/45
    • G06F8/4441
    • A computer implemented method, apparatus, and computer program product for compiling source code. The source code is scanned to identify a candidate region. A procedure control descriptor is corresponding to the candidate region is generated. The procedure control descriptor identifies, for the candidate region, a condition which, if true at runtime means that the candidate region can be specialized. Responsive to a determination during compile time that satisfaction of at least one condition will be known only at runtime, the procedure control descriptor is used to specialize the candidate region at compile time to create a first version of the candidate region for execution in a case where the condition is true and a second version of the candidate region for execution in a case where the condition is false. Also responsive to the determination, code is further generated to correctly select one of the first region and the second region at runtime.
    • 用于编译源代码的计算机实现的方法,装置和计算机程序产品。 扫描源代码以识别候选区域。 程序控制描述符对应于生成候选区域。 程序控制描述符为候选区域识别条件,其在运行时为真,意味着候选区域可以是专门的。 在编译期间响应于在运行时仅满足至少一个条件的确定,过程控制描述符用于在编译时专门化候选区域,以在第一版本的候选区域中创建用于执行的候选区域, 条件是真实的,并且在条件为假的情况下用于执行的候选区域的第二版本。 还响应于确定,进一步生成代码以在运行时正确选择第一区域和第二区域中的一个。
    • 2. 发明授权
    • Procedure control descriptor-based code specialization for context sensitive memory disambiguation
    • 过程控制描述符代码专用于上下文敏感内存消歧
    • US08332833B2
    • 2012-12-11
    • US11757941
    • 2007-06-04
    • Roch Georges ArchambaultShimin CuiYaoqing GaoRaul Esteban SilveraPeng Zhao
    • Roch Georges ArchambaultShimin CuiYaoqing GaoRaul Esteban SilveraPeng Zhao
    • G06F9/45
    • G06F8/4441
    • A computer implemented method for facilitating debugging of source code. The source code is scanned to identify a candidate region. A procedure control descriptor is generated, wherein the procedure control descriptor corresponds to the candidate region. The procedure control descriptor identifies, for the candidate region, a condition which, if true at runtime means that the candidate region can be specialized. Responsive to a determination during compile time that satisfaction of at least one condition will be known only at runtime, the procedure control descriptor is used to specialize the candidate region at compile time to create a first version of the candidate region for execution in a case where the condition is true and a second version of the candidate region for execution in a case where the condition is false, and further generate code to correctly select one of the first region and the second region at runtime.
    • 一种用于促进源代码调试的计算机实现方法。 扫描源代码以识别候选区域。 生成过程控制描述符,其中过程控制描述符对应于候选区域。 程序控制描述符为候选区域识别条件,其在运行时为真,意味着候选区域可以是专门的。 在编译期间响应于在运行时仅满足至少一个条件的确定,过程控制描述符用于在编译时专门化候选区域,以在第一版本的候选区域中创建用于执行的候选区域, 条件为真,并且在条件为假的情况下用于执行的候选区域的第二版本,并且还在生成期间生成正确选择第一区域和第二区域中的一个的代码。
    • 3. 发明授权
    • Data splitting for recursive data structures
    • 递归数据结构的数据分割
    • US09110684B2
    • 2015-08-18
    • US11775848
    • 2007-07-10
    • Roch G. ArchambaultShimin CuiStephen CurialYaoqing GaoRaul E. SilveraPeng Zhao
    • Roch G. ArchambaultShimin CuiStephen CurialYaoqing GaoRaul E. SilveraPeng Zhao
    • G06F9/44G06F9/45
    • G06F8/44G06F8/4442G06F17/30327G06F17/30598
    • Embodiments of the present invention provide a method, system and computer program product for the data splitting of recursive data structures. In one embodiment of the invention, a method for data splitting recursive data structures can be provided. The method can include identifying data objects of a recursive data structure type, such as a linked list, within source code, the recursive data structure type defining multiple different data fields. The method further can include grouping the data objects into some memory pool units, each of which can contain the same number of data objects. Each memory pool unit can be seen as an array of data objects. The method can include data splitting, which could be maximal array splitting in each different memory pool unit. Finally, the method can include three different approaches, including field padding, field padding and field splitting, to handle irregular field sizes in the data structure.
    • 本发明的实施例提供了一种用于递归数据结构的数据分割的方法,系统和计算机程序产品。 在本发明的一个实施例中,可以提供用于数据分解递归数据结构的方法。 该方法可以包括在源代码内识别递归数据结构类型的数据对象,例如链接列表,定义多个不同数据字段的递归数据结构类型。 该方法还可以包括将数据对象分组成一些存储池单元,每个单元可以包含相同数量的数据对象。 每个内存池单元都可以看作是数据对象的数组。 该方法可以包括数据分割,其可以是每个不同存储器池单元中的最大阵列分割。 最后,该方法可以包括三种不同的方法,包括字段填充,字段填充和字段分割,以处理数据结构中的不规则字段大小。
    • 4. 发明申请
    • DATA SPLITTING FOR RECURSIVE DATA STRUCTURES
    • 数据分析用于重现数据结构
    • US20090019425A1
    • 2009-01-15
    • US11775848
    • 2007-07-10
    • Roch G. ArchambaultShimin CuiStephen CurialYaoqing GaoRaul E. SilveraPeng Zhao
    • Roch G. ArchambaultShimin CuiStephen CurialYaoqing GaoRaul E. SilveraPeng Zhao
    • G06F9/44G06F17/30
    • G06F8/44G06F8/4442G06F17/30327G06F17/30598
    • Embodiments of the present invention provide a method, system and computer program product for the data splitting of recursive data structures. In one embodiment of the invention, a method for data splitting recursive data structures can be provided. The method can include identifying data objects of a recursive data structure type, such as a linked list, within source code, the recursive data structure type defining multiple different data fields. The method further can include grouping the data objects into some memory pool units, each of which can contain the same number of data objects. Each memory pool unit can be seen as an array of data objects. The method can include data splitting, which could be maximal array splitting in each different memory pool unit. Finally, the method can include three different approaches, including field padding, field padding and field splitting, to handle irregular field sizes in the data structure.
    • 本发明的实施例提供了一种用于递归数据结构的数据分割的方法,系统和计算机程序产品。 在本发明的一个实施例中,可以提供用于数据分解递归数据结构的方法。 该方法可以包括在源代码内识别递归数据结构类型的数据对象,例如链表,定义多个不同数据字段的递归数据结构类型。 该方法还可以包括将数据对象分组成一些存储池单元,每个单元可以包含相同数量的数据对象。 每个内存池单元都可以看作是数据对象的数组。 该方法可以包括数据分割,其可以是每个不同存储器池单元中的最大阵列分割。 最后,该方法可以包括三种不同的方法,包括字段填充,字段填充和字段分割,以处理数据结构中的不规则字段大小。
    • 5. 发明授权
    • Sparse vectorization without hardware gather/scatter
    • 稀疏矢量化无硬件收集/散射
    • US08191056B2
    • 2012-05-29
    • US11549172
    • 2006-10-13
    • Roch Georges ArchambaultGeorge ChochiaPeng Zhao
    • Roch Georges ArchambaultGeorge ChochiaPeng Zhao
    • G06F9/45
    • G06F8/447
    • A target operation in a normalized target loop, susceptible of vectorization and which may, after compilation into a vectorized form, seek to operate on data in nonconsecutive physical memory, is identified in source code. Hardware instructions are inserted into executable code generated from the source code, directing a system that will run the executable code to create a representation of the data in consecutive physical memory. A vector loop containing the target operation is replaced, in the executable code, with a function call to a vector library to call a vector function that will operate on the representation to generate a result identical to output expected from executing the vector loop containing the target operation. On execution, a representation of data residing in nonconsecutive physical memory is created in consecutive physical memory, and the vectorized target operation is applied to the representation to process the data.
    • 标准化目标循环中的目标操作,易于向量化,并且可以在编译成向量化形式之后寻求对非连续物理存储器中的数据进行操作,在源代码中被识别。 硬件指令被插入到从源代码生成的可执行代码中,指示将运行可执行代码的系统在连续的物理内存中创建数据的表示。 包含目标操作的向量循环在可执行代码中被替换为对向量库的函数调用,以调用将在表示上操作的向量函数,以生成与执行包含目标的向量循环所期望的输出相同的结果 操作。 在执行时,在连续物理存储器中创建驻留在非连续物理存储器中的数据的表示,并且向量化的目标操作被应用于表示以处理数据。
    • 7. 发明申请
    • Sparse vectorization without hardware gather / scatter
    • 稀疏矢量化无硬件收集/散射
    • US20080092125A1
    • 2008-04-17
    • US11549172
    • 2006-10-13
    • Roch Georges ArchambaultGeorge ChochiaPeng Zhao
    • Roch Georges ArchambaultGeorge ChochiaPeng Zhao
    • G06F9/45
    • G06F8/447
    • A target operation in a normalized target loop, susceptible of vectorization and which may, after compilation into a vectorized form, seek to operate on data in nonconsecutive physical memory, is identified in source code. Hardware instructions are inserted into executable code generated from the source code, directing a system that will run the executable code to create a representation of the data in consecutive physical memory. A vector loop containing the target operation is replaced, in the executable code, with a function call to a vector library to call a vector function that will operate on the representation to generate a result identical to output expected from executing the vector loop containing the target operation. On execution, a representation of data residing in nonconsecutive physical memory is created in consecutive physical memory, and the vectorized target operation is applied to the representation to process the data.
    • 标准化目标循环中的目标操作,易于向量化,并且可以在编译成向量化形式之后寻求对非连续物理存储器中的数据进行操作,在源代码中被识别。 硬件指令被插入到从源代码生成的可执行代码中,指示将运行可执行代码的系统在连续的物理内存中创建数据的表示。 包含目标操作的向量循环在可执行代码中被替换为对向量库的函数调用,以调用将在表示上操作的向量函数,以生成与执行包含目标的向量循环所期望的输出相同的结果 操作。 在执行时,在连续物理存储器中创建驻留在非连续物理存储器中的数据的表示,并且向量化的目标操作被应用于表示以处理数据。
    • 9. 发明申请
    • COMPILER METHOD OF EXPLOITING DATA VALUE LOCALITY FOR COMPUTATION REUSE
    • 用于计算重复使用数据值本地化的编译方法
    • US20080235674A1
    • 2008-09-25
    • US11688090
    • 2007-03-19
    • Yaoqing GaoLiangxiao HuGuansong ZhangPeng Zhao
    • Yaoqing GaoLiangxiao HuGuansong ZhangPeng Zhao
    • G06F9/45
    • G06F8/4441G06F9/383G06F9/3851
    • A compiler method for exploiting data value locality for computation reuse. When a code region having single entry and exit points and in which a potential computation reuse opportunity exists is identified during runtime, a helper thread is created separate from the master thread. One of the helper thread and master thread performs a computation specified in the code region, and the other of the helper thread and master thread looks up a value of the computation previously executed and stored in a lookup table. If the value of the computation previously executed is located in the lookup table, the other thread retrieves the value from the table, and ignores the computation performed by the thread. If the value of the computation is not located, the other thread obtains a result of the computation performed by the thread and stores the result in the lookup table for future computation reuse.
    • 一种用于利用数据值局部性进行计算重用的编译器方法。 当在运行时期间识别具有单个入口点和出口点并且存在潜在的计算重用机会的代码区域时,与主线程分开创建辅助线程。 辅助线程和主线程之一执行代码区域中指定的计算,辅助线程和主线程中的另一个查找先前执行并存储在查找表中的计算值。 如果先前执行的计算值位于查找表中,则另一个线程从表中检索该值,并忽略线程执行的计算。 如果计算值没有定位,则另一个线程获得由线程执行的计算结果,并将结果存储在查找表中以供将来的计算重用。