会员体验
专利管家(专利管理)
工作空间(专利管理)
风险监控(情报监控)
数据分析(专利分析)
侵权分析(诉讼无效)
联系我们
交流群
官方交流:
QQ群: 891211   
微信请扫码    >>>
现在联系顾问~
热词
    • 1. 发明申请
    • UTILIZING PRIOR USAGE DATA FOR SOFTWARE BUILD OPTIMIZATION
    • 利用软件构建优化的先前使用数据
    • US20080028378A1
    • 2008-01-31
    • US11460577
    • 2006-07-27
    • Surupa BiswasOri GershonyJonathan P. de HalleuxJiyang LiuBrian F. Sullivan
    • Surupa BiswasOri GershonyJonathan P. de HalleuxJiyang LiuBrian F. Sullivan
    • G06F9/45G06F9/44
    • G06F8/36
    • In one embodiment, a computer system packages a first set of data objects into a first software build. The computer system evaluates at least a portion of the usage of the first software build in accordance with usage training scenarios. The computer system monitors the evaluation of the first software build in accordance with a first software build usage detection process to detect the use of data objects within the first software build. The computer system generates profile data for the data objects and the generated profile data includes an indication of usage for each data object. The computer system packages a second set of data objects into a second software build in accordance with the generated profile data from the first software build, wherein the second set of data objects is different from but includes one or more data objects from the first set of data objects.
    • 在一个实施例中,计算机系统将第一组数据对象打包成第一软件构建。 计算机系统根据使用训练场景评估第一软件构建的至少一部分使用。 计算机系统根据第一软件构建使用检测过程监视第一软件构建的评估,以检测第一软件构建内的数据对象的使用。 计算机系统生成数据对象的简档数据,并且所生成的简档数据包括每个数据对象的使用的指示。 计算机系统根据来自第一软件构建的生成的简档数据将第二组数据对象打包到第二软件构建中,其中第二组数据对象不同于但包括来自第一组的第一组数据对象的一个​​或多个数据对象 数据对象。
    • 2. 发明授权
    • System and method for obtaining scratch registers in computer executable binaries
    • 在计算机可执行二进制文件中获取临时寄存器的系统和方法
    • US06854110B2
    • 2005-02-08
    • US09746949
    • 2000-12-21
    • David M. GilliesRonnie ChaikenJiyang Liu
    • David M. GilliesRonnie ChaikenJiyang Liu
    • G06F9/45
    • G06F8/441
    • A system and method for obtaining scratch registers in a computer-executable binary is provided. Register allocation requests in a computer-executable binary are discovered. In one method, the register allocations are examined procedure-by-procedure. The maximum number of registers requested by any instruction in the procedure is discovered. Then, register requests in the procedure are modified to request the maximum number discovered plus a number of scratch registers. In another method, the register allocations are examined block-by block within a procedure. Dominating register allocations for each block are found. Then the dominating register allocations are modified to request scratch registers.
    • 提供了一种用于在计算机可执行二进制文件中获取暂存寄存器的系统和方法。 发现计算机可执行二进制文件中的注册分配请求。 在一种方法中,逐个过程检查寄存器分配。 发现该过程中任何指令请求的最大寄存器数。 然后,修改过程中的注册请求,以请求发现的最大数量加上一些暂存寄存器。 在另一种方法中,寄存器分配在程序内逐块检查。 找到每个块的控制寄存器分配。 然后,主导寄存器分配被修改为请求暂存寄存器。
    • 3. 发明申请
    • Preparation for Software on Demand System
    • 软件点播系统的准备
    • US20080034346A1
    • 2008-02-07
    • US11757929
    • 2007-06-04
    • Hon ChanAndrew EdwardsDavid GilliesCarlos GomesJiyang LiuPatrick McDonaldMark RobertsHoi Vo
    • Hon ChanAndrew EdwardsDavid GilliesCarlos GomesJiyang LiuPatrick McDonaldMark RobertsHoi Vo
    • G06F9/44
    • G06F9/445
    • A method prepares a computer program for operation in a computer supply system that supplies portions, or program units, of program code or program data of the computer program as the program needs the portions. The method includes defining a program unit of the program and removing the program unit from the program, thereby producing a program skeleton that is missing the program unit. The method further includes inserting instructions in place of the program unit in the program skeleton. The instructions are operative to request the program unit when the program skeleton encounters the instructions. An information structure includes a program skeleton of a program. The program skeleton is missing a funclet of the program, but includes a placeholder in place of the funclet. The program skeleton additionally includes instructions in place of the funclet. The instructions are operative to request the funclet when the program skeleton encounters the instructions.
    • 一种方法准备用于在计算机供应系统中操作的计算机程序,该计算机供应系统在程序需要该部分时提供计算机程序的程序代码或程序数据的部分或程序单元。 该方法包括定义程序的程序单元并从程序中移除程序单元,从而产生缺少程序单元的程序框架。 该方法还包括在程序框架中插入代替程序单元的指令。 当程序框架遇到指令时,指令可以用来请求程序单元。 信息结构包括程序的程序框架。 程序框架缺少该程序的功能,但包含一个占位符代替了funclet。 程序框架还包括代替乐句的指令。 当程序框架遇到指令时,指令可用于请求乐句。
    • 6. 发明授权
    • Preparation for software on demand system
    • 软件点播系统准备
    • US07228540B2
    • 2007-06-05
    • US10146635
    • 2002-05-14
    • Hon Keat W. ChanAndrew J. EdwardsDavid GilliesCarlos P. GomesJiyang LiuPatrick L. McDonaldMark L. RobertsHoi Vo
    • Hon Keat W. ChanAndrew J. EdwardsDavid GilliesCarlos P. GomesJiyang LiuPatrick L. McDonaldMark L. RobertsHoi Vo
    • G06F9/44
    • G06F9/445
    • A method prepares a computer program for operation in a computer supply system that supplies portions, or program units, of program code or program data of the computer program as the program needs the portions. The method includes defining a program unit of the program and removing the program unit from the program, thereby producing a program skeleton that is missing the program unit. The method further includes inserting instructions in place of the program unit in the program skeleton. The instructions are operative to request the program unit when the program skeleton encounters the instructions. An information structure includes a program skeleton of a program. The program skeleton is missing a funclet of the program, but includes a placeholder in place of the funclet. The program skeleton additionally includes instructions in place of the funclet. The instructions are operative to request the funclet when the program skeleton encounters the instructions.
    • 一种方法准备用于在计算机供应系统中操作的计算机程序,该计算机供应系统在程序需要该部分时提供计算机程序的程序代码或程序数据的部分或程序单元。 该方法包括定义程序的程序单元并从程序中移除程序单元,从而产生缺少程序单元的程序框架。 该方法还包括在程序框架中插入代替程序单元的指令。 当程序框架遇到指令时,指令可以用来请求程序单元。 信息结构包括程序的程序框架。 程序框架缺少该程序的功能,但包含一个占位符代替了funclet。 程序框架还包括代替乐句的指令。 当程序框架遇到指令时,指令可用于请求乐句。
    • 7. 发明授权
    • Software on demand system
    • 软件点播系统
    • US07213245B2
    • 2007-05-01
    • US10146611
    • 2002-05-14
    • Hon Keat W. ChanAndrew J. EdwardsDavid GilliesCarlos P. GomesJiyang LiuPatrick L. McDonaldMark L. RobertsHoi Vo
    • Hon Keat W. ChanAndrew J. EdwardsDavid GilliesCarlos P. GomesJiyang LiuPatrick L. McDonaldMark L. RobertsHoi Vo
    • G06F9/44
    • G06F9/445
    • A method of supplying program units of a computer program as the program needs the program units includes running a program skeleton. The program skeleton is derived from the program, but has a program stub where a program unit associated with the program stub may be inserted. Upon encountering the program stub, the method includes getting the program unit associated with the program stub and inserting the program unit at the program stub. A method of supplying funclets of a computer program from a server computer system to a client computer system includes receiving a plurality of requests for funclets during a test period. If a tested probability of requests for a first funclet being followed by requests for a second funclet is at least a predetermined probability, then the method also includes sending the first funclet and the second funclet to the client computer system in response to a request from the client computer system for the first funclet after the test period.
    • 当程序需要程序单元时,提供计算机程序的程序单元的方法包括运行程序框架。 程序框架是从程序派生的,但是有一个程序存根,其中可以插入与程序存根相关联的程序单元。 在遇到程序存根时,该方法包括获得与程序存根相关联的程序单元并将程序单元插入程序存根。 将计算机程序的乐趣从服务器计算机系统提供给客户端计算机系统的方法包括在测试期间接收多个对乐趣的请求。 如果对第一乐曲的请求的测试概率是第二乐曲的请求,则至少是预定概率,则该方法还包括响应于来自所述第一乐句的请求而将第一乐句和第二乐句发送到客户端计算机系统 客户端计算机系统为测试期后的第一个乐谱。
    • 8. 发明授权
    • Instrumentation and optimization tools for heterogeneous programs
    • 用于异构程序的仪器和优化工具
    • US06481008B1
    • 2002-11-12
    • US09343298
    • 1999-06-30
    • Ronnie I. ChaikenAndrew J. EdwardsJohn A. LeforJiyang LiuKen B. PierceAmitabh SrivastavaHoi H. Vo
    • Ronnie I. ChaikenAndrew J. EdwardsJohn A. LeforJiyang LiuKen B. PierceAmitabh SrivastavaHoi H. Vo
    • G06F945
    • G06F11/3612G06F8/443G06F11/3466G06F2201/865
    • Pre-defined performance tools enable instrumentation and optimization of a heterogeneous program by modifying a platform-neutral intermediate representation (IR) of the program. The intermediate representation is hierarchy of base elements that correspond to instructions, code blocks, procedures and components within the program. Each base element exports an application program interface that provides for navigation, querying and modification of the corresponding element in the hierarchy. An application program interface for the entire intermediate representation includes the application program interfaces for the individual elements along with additional functionality. A user can request instrumentation and optimization of any level of the intermediate representation hierarchy and the performance tools perform the required modifications to the intermediate representation. When a modification requires inserting instructions, the performance tools add prologue and epilog code to connect the inserted instructions with the original intermediate representation instructions. When the intermediate representation instructions are translated into platform-specific instructions and executed, the modifications made to the intermediate representation provide the instrumentation and/or optimization of the heterogeneous program.
    • 预定义的性能工具可以通过修改程序的平台中立中间表示(IR)来对异构程序进行测试和优化。 中间表示是与程序中的指令,代码块,过程和组件相对应的基本元素的层次。 每个基本元素导出一个应用程序接口,该界面提供层次结构中相应元素的导航,查询和修改。 用于整个中间表示的应用程序接口包括用于各个元素的应用程序接口以及附加的功能。 用户可以请求对中间表示层次结构的任何级别的仪器和优化,并且性能工具对中间表示执行所需的修改。 当修改需要插入指令时,性能工具会添加序言和epilog代码,将插入的指令与原始中间表示指令进行连接。 当中间表示指令被转换为特定于平台的指令并执行时,对中间表示的修改提供异构程序的检测和/或优化。
    • 9. 发明授权
    • Compiler for performing a loop fusion, dependent upon loop peeling
and/or loop reversal
    • 用于执行环路融合的编译器,取决于环路剥离和/或环路反转
    • US6070011A
    • 2000-05-30
    • US955075
    • 1997-10-21
    • Jiyang LiuRobert GottliebAndrew E. Ayers
    • Jiyang LiuRobert GottliebAndrew E. Ayers
    • G06F9/45
    • G06F8/433G06F8/443
    • A compile method employs loop fusion to improve execution of a first loop and a second loop in a code sequence. A compile method initially peels one or more loop iterations from one of the loops to cause each of the loops to exhibit an equal number of loop iterations. Thereafter, an attempt is made to fuse the first and second loops, upon a condition that the resulting fused loop produces a same computational result as would be produced if the first loop and second loop were not fused. If the condition is not met, a loop reversal is performed on one of the loops and a fusing action is again attempted; if the attempted fusing action of the loops does not fulfill the condition, a loop reversal is performed on the other loop and a fusing action is again attempted. The combined loop peeling/loop reversal actions provide a higher probability of an ability to fuse the loops than otherwise.
    • 编译方法采用循环融合来改进代码序列中的第一循环和第二循环的执行。 编译方法最初从一个循环中剥离一个或多个循环迭代,以使每个循环呈现相等数量的循环迭代。 此后,尝试熔化第一和第二回路,条件是所产生的熔断回路产生与第一回路和第二回路未熔合时相同的计算结果。 如果不符合条件,则在其中一个环路上执行环路反转,并再次尝试熔断动作; 如果循环的尝试融合动作不能满足条件,则在另一个循环上执行循环反转,并且再次尝试熔化动作。 组合的环路剥离/环路反向动作提供了比其他方式融合环路的更高概率。
    • 10. 发明授权
    • Method for conversion of a variable argument routine to a fixed argument
routine
    • 将可变参数例程转换为固定参数例程的方法
    • US6009273A
    • 1999-12-28
    • US953549
    • 1997-10-21
    • Andrew E. AyersJiyang Liu
    • Andrew E. AyersJiyang Liu
    • G06F9/40G06F9/45G06F9/44
    • G06F8/436G06F8/447G06F9/4425
    • A compiler method analyzes a program listing to identify a first set of subroutines therein, each of which accepts a variable number of arguments, converting the first set of subroutines into further sets of subroutines which accept fixed numbers of arguments. The method includes the steps of: locating subroutines in the program listing which accept a variable number of arguments and identifying which thereof comprise a first set of subroutines that can be altered to a form which accepts a fixed number of arguments; for each subroutine identified as part of the first set, determining call sites which pass arguments to each subroutine and determining a number and kind of said arguments to be passed therefrom; partitioning call sites to each subroutine of the first set into one or more groups, each group comprising call sites which pass an identical number and kind of arguments to an associated subroutine of said first set; duplicating each subroutine of said first set into plural second sets of N corresponding subroutines, wherein N is equal to the number of groups associated with the subroutine of the first set, and revising each one of said N corresponding subroutines to receive a number of fixed arguments to be passed by call sites partitioned into an associated group; and substituting in the program listing the N corresponding subroutines and revising call sites in each group to refer to an associated one of said N corresponding subroutines.
    • 编译器方法分析程序列表以识别其中的第一组子程序,其中每个子程序接受可变数量的参数,将第一组子程序转换为接受固定数量参数的另一组子程序。 该方法包括以下步骤:将程序列表中的子例程定位成接受可变数量的参数,并且识别其中的子例程可以被改变为接受固定数量的参数的形式的第一组子例程; 确定作为第一组的一部分识别的每个子程序,确定通过参数到每个子程序的调用站点,并确定要从其传递的所述参数的数量和种类; 将所述第一集合的每个子例程的呼叫站点划分成一个或多个组,每个组包括将相同数量和种类的参数传递给所述第一组的相关子程序的呼叫站点; 将所述第一组的每个子程序复制成多个第二组N个相应子程序,其中N等于与第一组子程序相关联的组的数量,并且修改所述N个相应子程序中的每一个以接收多个固定参数 被分配到关联组的呼叫站点传递; 并且在节目列表中替换N个相应的子例程并修改每个组中的呼叫站点以指代所述N个相应子例程中的相关联的一个。