PROGRAM EXECUTION ON HETEROGENEOUS PLATFORM
    1.
    发明申请
    PROGRAM EXECUTION ON HETEROGENEOUS PLATFORM 审中-公开
    异构平台的计划执行

    公开(公告)号:WO2015150342A1

    公开(公告)日:2015-10-08

    申请号:PCT/EP2015/056933

    申请日:2015-03-30

    Inventor: GOOSSENS, Bart

    CPC classification number: G06F9/5044 G06F8/44 G06F9/45516 G06F9/505

    Abstract: The present invention relates in a first aspect to a computer-implemented method (1) comprising obtaining (2) an intermediate computer code object comprising at least one set of instructions corresponding to a task to be performed, the intermediate computer code object – being machine independent - further comprising for each of said at least one set of instructions one or more metadata descriptors representative of at least a complexity measure of the task to be performed. The method also comprises executing (4) the intermediate computer code object on a computing platform comprising at least two different execution units having a different memory with a different memory location. This executing comprises selecting (6) for each of the at least one set of instructions a target execution unit from the plurality of execution units. This selecting takes the one or more metadata descriptors and a decision rule into account, wherein the decision rule relates the plurality of complexity measures to a performance characteristic of the plurality of execution units.

    Abstract translation: 本发明在第一方面涉及一种计算机实现的方法(1),包括获得(2)包括与要执行的任务相对应的至少一组指令的中间计算机代码对象,所述中间计算机代码对象机器 独立的 - 进一步包括所述至少一组指令中的每一个指示一个或多个元数据描述符,其代表待执行的任务的至少一个复杂性度量。 该方法还包括在包括具有不同存储器的不同存储器的至少两个不同执行单元的计算平台上执行(4)中间计算机代码对象。 该执行包括从多个执行单元中选择(6)至少一组指令中的每个目标执行单元。 该选择考虑了一个或多个元数据描述符和决策规则,其中决定规则将多个复杂性度量与多个执行单元的性能特征相关联。

    HARDWARE SUPPORT FOR HASHTABLES IN DYNAMIC LANGUAGES
    3.
    发明申请
    HARDWARE SUPPORT FOR HASHTABLES IN DYNAMIC LANGUAGES 审中-公开
    动态语言中硬件支持的硬件支持

    公开(公告)号:WO2012166410A1

    公开(公告)日:2012-12-06

    申请号:PCT/US2012/038797

    申请日:2012-05-21

    CPC classification number: G06F8/44 G06F8/31 G06F9/4492

    Abstract: The aspects enable a computing device to execute traditionally software-based JavaScript® operations in hardware. Each JavaScript® object is hashed into a master hashtable that may be stored in the software. A portion of the software hashtable may be pushed to a hardware hashtable using special instruction set registers dedicated to hashtable processing. Each time a software process requests a hashtable operation (e.g., lookup) the hardware hashtable is checked to determine if the value exists in hardware. If the requested value is in the hardware hashtable, the requested value is accessed in a single operation step. If the requested value is not in the hardware hashtable, the requested value is extracted from the master hashtable in the software and a portion of the master hashtable containing the extracted value is pushed to the hardware using special instruction set registers.

    Abstract translation: 这些方面使计算设备能够在硬件中执行传统的基于软件的JavaScript®操作。 每个JavaScript®对象被散列成可以存储在软件中的主哈希表。 可以使用专用于散列表处理的专用指令集寄存器将软件散列表的一部分推送到硬件散列表。 每当软件进程请求哈希表操作(例如,查找)时,检查硬件散列表以确定该值是否存在于硬件中。 如果请求的值在硬件哈希表中,则在单个操作步骤中访问所请求的值。 如果请求的值不在硬件哈希表中,则从软件中的主哈希表中提取所请求的值,并且使用特殊指令集寄存器将包含提取的值的主要哈希表的一部分推送到硬件。

    COMPILED DATA FOR SOFTWARE APPLICATIONS
    4.
    发明申请
    COMPILED DATA FOR SOFTWARE APPLICATIONS 审中-公开
    用于软件应用的编译数据

    公开(公告)号:WO2008005581A2

    公开(公告)日:2008-01-10

    申请号:PCT/US2007/015731

    申请日:2007-07-09

    CPC classification number: G06F8/427 G06F8/44 G06Q10/08

    Abstract: Various embodiments of the present invention provide systems and methods of converting data used for shipment rate calculations into executable code. More specifically, certain embodiments of the present invention provide systems and methods of converting data used for shipment rate calculations into executable code by scanning the data from at least one source file, parsing the data in accordance with a template, and generating the executable code by utilizing the parsed data. As a result, the code may be executed to provide the data used for shipment rate calculations without having to access the original source file. In addition, compiling such data into executable code may improve look-up performance, may provide encapsulation of logic related to the specific nature of the data, and may provide a mechanism by which the raw data is not overtly exposed to end users of the software and third-parties.

    Abstract translation: 本发明的各种实施例提供将用于装运速率计算的数据转换成可执行代码的系统和方法。 更具体地,本发明的某些实施例提供了通过从至少一个源文件扫描数据,根据模板解析数据并且通过以下方式生成可执行代码来将用于装运速率计算的数据转换成可执行代码的系统和方法: 利用解析的数据。 因此,可以执行代码以提供用于装运速率计算的数据,而不必访问原始源文件。 此外,将这些数据编译成可执行代码可以提高查找性能,可以提供与数据的特定性质相关的逻辑的封装,并且可以提供一种机制,通过该机制原始数据不会暴露给软件的最终用户 和第三方。

    STATICALLY SPECULATIVE COMPILATION AND EXECUTION
    5.
    发明申请
    STATICALLY SPECULATIVE COMPILATION AND EXECUTION 审中-公开
    静态分析和执行

    公开(公告)号:WO2004006060A3

    公开(公告)日:2005-04-21

    申请号:PCT/US0321120

    申请日:2003-07-08

    CPC classification number: G06F8/44 G06F1/32 G06F8/4432 Y02B60/181 Y02D10/41

    Abstract: A system for use with a compiler architecture framework, includes performing a statically speculative compilation process to extract and use speculative static information, (2) encoding the speculative static information in an instruction set architecture of a processor, (3) and executing a compiled computer program using the speculative static information, wherein executing supports static speculation driven mechanisms and controls (5).

    Abstract translation: 一种与编译器架构框架一起使用的系统,包括执行静态推测编译过程以提取和使用推测静态信息,(2)对处理器的指令集架构中的推测性静态信息进行编码,(3)并执行编译的计算机 程序使用推测静态信息,其中执行支持静态推测驱动机制和控制(5)。

    AN APPARATUS FOR PROCESSING AN ABSTRACT SYNTAX TREE BEING ASSOCIATED WITH A SOURCE CODE OF A SOURCE PROGRAM
    6.
    发明申请
    AN APPARATUS FOR PROCESSING AN ABSTRACT SYNTAX TREE BEING ASSOCIATED WITH A SOURCE CODE OF A SOURCE PROGRAM 审中-公开
    用于处理与源程序的源代码相关的摘要语法树的设备

    公开(公告)号:WO2016163901A1

    公开(公告)日:2016-10-13

    申请号:PCT/RU2015/000218

    申请日:2015-04-07

    CPC classification number: G06F8/44 G06F8/47

    Abstract: The invention relates to an apparatus (100) for processing an abstract syntax tree being associated with a source code of a source program, the abstract syntax tree comprising a plurality of nodes, the apparatus (100) comprising a code virtualizer (101) being configured to associate the plurality of nodes of the abstract syntax tree with a plurality of calls of a target application programming interface upon the basis of a predetermined mapping data structure, the predetermined mapping data structure indicating semantic associations between the plurality of nodes and the plurality of calls, and to generate a virtualized code upon the basis of the plurality of nodes, the virtualized code indicating the plurality of calls of the target application programming interface.

    Abstract translation: 本发明涉及一种用于处理与源程序的源代码相关联的抽象语法树的装置(100),所述抽象语法树包括多个节点,所述装置(100)包括代码虚拟器(101) 被配置为基于预定映射数据结构将抽象语法树的多个节点与目标应用程序编程接口的多个调用相关联,所述预定映射数据结构指示所述多个节点与所述多个节点之间的语义关联 呼叫,并且在多个节点的基础上生成虚拟化代码,该虚拟代码指示目标应用编程接口的多个调用。

    METHOD FOR COMPILING A SOURCE CODE
    7.
    发明申请
    METHOD FOR COMPILING A SOURCE CODE 审中-公开
    编码源代码的方法

    公开(公告)号:WO2016032362A1

    公开(公告)日:2016-03-03

    申请号:PCT/RU2014/000652

    申请日:2014-08-29

    CPC classification number: G06F8/44 G06F8/311

    Abstract: The invention relates to a method for compiling a source code to a program code, the method comprising: providing (101) a pattern graph based on the source code, the pattern graph corresponding to an intermediate representation of the source code according to a set of rules in a first programming language, wherein the set of rules comprises a specific replacement rule directing a pattern graph to be replaced by a corresponding replacement graph assigned to the pattern graph, replacing (103) the pattern graph by the replacement graph assigned to the pattern graph, and generating (105) the program code based on the replacement graph.

    Abstract translation: 本发明涉及一种用于将源代码编译为程序代码的方法,该方法包括:根据源代码提供(101)模式图,所述模式图对应于根据集合的源代码的中间表示 的规则集合,其中所述规则集合包括指定要由分配给所述模式图的对应替换图替换的模式图的特定替换规则,通过分配给所述模式图的替换图来替换(103)所述模式图 模式图,并且基于替换图来生成(105)程序代码。

    EFFICIENT DIRECTED ACYCLIC GRAPH PATTERN MATCHING TO ENABLE CODE PARTITIONING AND EXECUTION ON HETEROGENEOUS PROCESSOR CORES
    8.
    发明申请
    EFFICIENT DIRECTED ACYCLIC GRAPH PATTERN MATCHING TO ENABLE CODE PARTITIONING AND EXECUTION ON HETEROGENEOUS PROCESSOR CORES 审中-公开
    有效的方向图像图形匹配,以便能够实现代码分类和执行异构处理器

    公开(公告)号:WO2015026554A1

    公开(公告)日:2015-02-26

    申请号:PCT/US2014/050576

    申请日:2014-08-11

    CPC classification number: G06F9/3877 G06F8/35 G06F8/44 G06F8/451 G06F9/3885

    Abstract: Methods, devices, and systems for automatically determining how an application program may be partitioned and offloaded for execution by a general purpose applications processor and an auxiliary processor (e.g., a DSP, GPU, etc.) within a mobile device. The mobile device may determine the portions of the application code that are best suited for execution on the auxiliary processor based on pattern-matching of directed acyclic graphs (DAGS). In particular, the mobile device may identify one or more patterns in the code, particularly in a data flow graph of the code, comparing each identified code pattern to predefined graph patterns known to have a certain benefit when executed on the auxiliary processor (e.g., a DSP). The mobile device may determine the costs and/or benefits of executing the potions of code on the auxiliary processor, and may offload portions that have low costs and/or high benefits related to the auxiliary processor.

    Abstract translation: 用于自动确定应用程序如何被分割和卸载以由移动设备内的通用应用处理器和辅助处理器(例如,DSP,GPU等)执行的方法,设备和系统。 移动设备可以基于有向非循环图(DAGS)的模式匹配来确定最适合在辅助处理器上执行的应用代码的部分。 特别地,移动设备可以识别代码中的一个或多个模式,特别是在代码的数据流图中,将每个识别的代码模式与在辅助处理器上执行时已知具有一定益处的预定图形模式进行比较(例如, 一个DSP)。 移动设备可以确定在辅助处理器上执行代码段的成本和/或益处,并且可以卸载与辅助处理器相关的低成本和/或高优点的部分。

    METHOD FOR CONSTRUCTING A GRAPH-BASED INTERMEDIATE REPRESENTATION IN A COMPILER
    9.
    发明申请
    METHOD FOR CONSTRUCTING A GRAPH-BASED INTERMEDIATE REPRESENTATION IN A COMPILER 审中-公开
    在编译器中构建基于图形的中间表示的方法

    公开(公告)号:WO2015012711A1

    公开(公告)日:2015-01-29

    申请号:PCT/RU2013/000631

    申请日:2013-07-23

    CPC classification number: G06F8/433 G06F8/34 G06F8/44 G06F9/4552

    Abstract: The invention relates to a method (800) for constructing a graph data structure as an intermediate representation of source code for a compiler configured for compiling the source code into executable machine code running on a processor of a computer system, wherein program operations of the source code are represented in an object-oriented programming language by objects of classes that form a hierarchy growing from a base node class of the graph data structure, the method (800) comprising: producing new nodes (801) of the graph data structure by calling factory methods associated with existing nodes of the graph data structure based on a factory method design pattern implemented in the nodes of the graph data structure, wherein the nodes of the graph data structure are identified by symbols; and using the symbols as proxies of the nodes (803) of the graph data structure according to a proxy design pattern.

    Abstract translation: 本发明涉及一种用于构建图形数据结构的方法(800),该图形数据结构作为用于将源代码编译成在计算机系统的处理器上运行的可执行机器代码的编译器的源代码的中间表示,其中, 源代码由面向对象的编程语言表示,其形成从图形数据结构的基本节点类生长的层级的类的对象,所述方法(800)包括:通过以下方式生成图形数据结构的新节点(801): 基于在图形数据结构的节点中实现的工厂方法设计模式,调用与图形数据结构的现有节点相关联的工厂方法,其中图形数据结构的节点由符号标识; 并且根据代理设计模式,使用符号作为图形数据结构的节点(803)的代理。

    HARDWARE COMPILATION AND/OR TRANSLATION WITH FAULT DETECTION AND ROLL BACK FUNCTIONALITY
    10.
    发明申请
    HARDWARE COMPILATION AND/OR TRANSLATION WITH FAULT DETECTION AND ROLL BACK FUNCTIONALITY 审中-公开
    硬件编译和/或翻译具有故障检测和滚动功能

    公开(公告)号:WO2013101840A1

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

    申请号:PCT/US2012/071668

    申请日:2012-12-26

    Abstract: Hardware compilation and/or translation with fault detection and roll back functionality are disclosed. Compilation and/or translation logic receives programs encoded in one language, and encodes the programs into a second language including instructions to support processor features not encoded into the original language encoding of the programs. In one embodiment, an execution unit executes instructions of the second language including an operation-check instruction to perform a first operation and record the first operation result for a comparison, and an operation-test instruction to perform a second operation and a fault detection operation by comparing the second operation result to the recorded first operation result. In some embodiments, an execution unit executes instructions of the second language including commit instructions to record execution checkpoint states of registers mapped to architectural registers, and roll-back instructions to restore the registers mapped to architectural registers to previously recorded execution checkpoint states.

    Abstract translation: 公开了具有故障检测和回滚功能的硬件编译和/或翻译。 编译和/或翻译逻辑接收以一种语言编码的程序,并且将该程序编码成包括指令的第二语言,以支持未被编码为程序的原始语言编码的处理器特征。 在一个实施例中,执行单元执行包括执行第一操作的操作检查指令的第二语言的指令并记录用于比较的第一操作结果,以及执行第二操作和故障检测操作的操作测试指令 通过比较第二操作结果与记录的第一操作结果。 在一些实施例中,执行单元执行第二语言的指令,包括提交指令以记录映射到架构寄存器的寄存器的执行检查点状态,以及回滚指令,将映射到架构寄存器的寄存器恢复到先前记录的执行检查点状态。

Patent Agency Ranking