SOFTWARE PIPELINING AT RUNTIME
    1.
    发明申请
    SOFTWARE PIPELINING AT RUNTIME 有权
    软件管道运行

    公开(公告)号:US20140298306A1

    公开(公告)日:2014-10-02

    申请号:US13853430

    申请日:2013-03-29

    IPC分类号: G06F9/45

    CPC分类号: G06F8/4452 G06F8/433

    摘要: Apparatuses and methods may provide for determining a level of performance for processing one or more loops by a dynamic compiler and executing code optimizations to generate a pipelined schedule for the one or more loops that achieves the determined level of performance within a prescribed time period. In one example, a dependence graph may be established for the one or more loops, and each dependence graph may be partitioned into stages based on the level of performance.

    摘要翻译: 设备和方法可以提供用于通过动态编译器来确定用于处理一个或多个循环的性能水平,并且执行代码优化以生成用于在规定时间段内实现所确定的性能水平的所述一个或多个循环的流水线调度。 在一个示例中,可以为一个或多个循环建立依赖图,并且可以基于性能水平将每个依赖图划分成多个阶段。

    CONJUGATE CODE GENERATION FOR EFFICIENT DYNAMIC OPTIMIZATIONS
    2.
    发明申请
    CONJUGATE CODE GENERATION FOR EFFICIENT DYNAMIC OPTIMIZATIONS 审中-公开
    有效动态优化的合并代码生成

    公开(公告)号:US20150212836A1

    公开(公告)日:2015-07-30

    申请号:US14126894

    申请日:2013-10-24

    IPC分类号: G06F9/455 G06F9/45

    摘要: Methods and apparatus relating to conjugate code generation for efficient dynamic optimizations are described. In an embodiment, a binary code and an intermediate representation (IR) code are generated based at least partially on a source program. The binary code and the intermediate code are transmitted to a virtual machine logic. The binary code and the IR code each include a plurality of regions that are in one-to-one correspondence. Other embodiments are also claimed and described.

    摘要翻译: 描述了用于有效动态优化的共轭码生成相关的方法和装置。 在一个实施例中,至少部分地基于源程序生成二进制代码和中间表示(IR)代码。 二进制代码和中间代码被传送到虚拟机逻辑。 二进制代码和IR代码每个包括一对一对应的多个区域。 还要求保护和描述其它实施例。

    TECHNOLOGIES FOR PERSISTENT MEMORY PROGRAMMING
    3.
    发明申请
    TECHNOLOGIES FOR PERSISTENT MEMORY PROGRAMMING 有权
    不间断内存编程技术

    公开(公告)号:US20150169226A1

    公开(公告)日:2015-06-18

    申请号:US14496621

    申请日:2014-09-25

    IPC分类号: G06F3/06

    摘要: Technologies for persistent memory programming include a computing device having a persistent memory including one or more nonvolatile regions. The computing device may assign a virtual memory address of a target location in persistent memory to a persistent memory pointer using persistent pointer strategy, and may dereference the pointer using the same strategy. Persistent pointer strategies include off-holder, ID-in-value, optimistic rectification, and pessimistic rectification. The computing device may log changes to persistent memory during the execution of a data consistency section, and commit changes to the persistent memory when the last data consistency section ends. Data consistency sections may be grouped by log group identifier. Using type metadata stored in the nonvolatile region, the computing device may identify the type of a root object within the nonvolatile region and then recursively identify the type of all objects referenced by the root object. Other embodiments are described and claimed.

    摘要翻译: 用于持久存储器编程的技术包括具有包括一个或多个非易失性区域的持久存储器的计算设备。 计算设备可以使用持久指针策略将永久存储器中的目标位置的虚拟存储器地址分配给持久存储器指针,并且可以使用相同的策略来解除引用。 持续指标策略包括持有人,价值观,乐观整改和悲观整改。 在执行数据一致性部分期间,计算设备可以将改变记录到持久存储器,并且当最后数据一致性部分结束时,向永久存储器提交更改。 数据一致性部分可以按日志组标识符分组。 使用存储在非易失性区域中的类型元数据,计算设备可以识别非易失性区域内的根对象的类型,然后递归地标识由根对象引用的所有对象的类型。 描述和要求保护其他实施例。

    INSTRUCTION AND LOGIC TO EFFICIENTLY MONITOR LOOP TRIP COUNT
    5.
    发明申请
    INSTRUCTION AND LOGIC TO EFFICIENTLY MONITOR LOOP TRIP COUNT 有权
    指令和逻辑到有效的监视器循环次数

    公开(公告)号:US20140208085A1

    公开(公告)日:2014-07-24

    申请号:US13996861

    申请日:2012-03-30

    IPC分类号: G06F9/32

    摘要: Logic and instruction to efficiently monitor loop trip count. Loop trip count information of a loop may be stored in a dedicated hardware buffer. Average loop trip count of the loop may be calculated based on the stored loop trip count information. Based on the average trip count, loop optimizations may be applied or removed from the loop. The stored loop trip count information may include an identifier identifying the loop, a total loop trip count of the loop, and an exit count of the loop.

    摘要翻译: 有效监控回路行程数的逻辑和指令。 循环的循环行程计数信息可以存储在专用硬件缓冲器中。 可以基于存储的循环行程计数信息来计算循环的平均循环行程计数。 基于平均行程计数,循环优化可以从循环中应用或移除。 存储的循环行程计数信息可以包括标识循环的标识符,循环的总循环行程计数以及循环的退出计数。

    CO-DESIGNED DYNAMIC LANGUAGE ACCELERATOR FOR A PROCESSOR
    6.
    发明申请
    CO-DESIGNED DYNAMIC LANGUAGE ACCELERATOR FOR A PROCESSOR 有权
    用于处理器的CO设计动态语言加速器

    公开(公告)号:US20150277866A1

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

    申请号:US14225755

    申请日:2014-03-26

    IPC分类号: G06F9/45 G06F9/455

    摘要: In an embodiment, a processor includes at least one core and a dynamic language accelerator to execute a bytecode responsive to a memory mapped input/output (MMIO) operation on a file descriptor associated with the dynamic language accelerator. The processor may block execution of native code while the dynamic language accelerator executes the bytecode. Other embodiments are described and claimed.

    摘要翻译: 在一个实施例中,处理器包括至少一个核心和动态语言加速器,以响应于与动态语言加速器相关联的文件描述符的存储器映射的输入/输出(MMIO)操作来执行字节码。 当动态语言加速器执行字节码时,处理器可能会阻止本地代码的执行。 描述和要求保护其他实施例。

    ALLOCATION OF ALIAS REGISTERS IN A PIPELINED SCHEDULE
    7.
    发明申请
    ALLOCATION OF ALIAS REGISTERS IN A PIPELINED SCHEDULE 有权
    在管道附表中分配ALIAS注册

    公开(公告)号:US20150039861A1

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

    申请号:US14126466

    申请日:2013-05-30

    IPC分类号: G06F9/38 G06F9/30

    摘要: In an embodiment, a system includes a processor including one or more cores and a plurality of alias registers to store memory range information associated with a plurality of operations of a loop. The memory range information references one or more memory locations within a memory. The system also includes register assignment means for assigning each of the alias registers to a corresponding operation of the loop, where the assignments are made according to a rotation schedule, and one of the alias registers is assigned to a first operation in a first iteration of the loop and to a second operation in a subsequent iteration of the loop. The system also includes the memory coupled to the processor. Other embodiments are described and claimed.

    摘要翻译: 在一个实施例中,系统包括处理器,其包括一个或多个核和多个别名寄存器,用于存储与循环的多个操作相关联的存储器范围信息。 存储器范围信息引用存储器内的一个或多个存储器位置。 该系统还包括寄存器分配装置,用于将每个别名寄存器分配给循环的对应操作,其中根据旋转调度进行分配,并且在第一次迭代中将一个别名寄存器分配给第一操作 循环和循环的后续迭代中的第二操作。 该系统还包括耦合到处理器的存储器。 描述和要求保护其他实施例。

    DYNAMIC OPTIMIZATION OF PIPELINED SOFTWARE
    8.
    发明申请
    DYNAMIC OPTIMIZATION OF PIPELINED SOFTWARE 有权
    管道软件动态优化

    公开(公告)号:US20140359591A1

    公开(公告)日:2014-12-04

    申请号:US14126463

    申请日:2013-05-30

    IPC分类号: G06F9/45

    摘要: In an embodiment, a system includes a processor including at least one core to execute operations of a loop that includes S stages. The system also includes stage insertion means for adding a delay stage to the loop to increase a lifetime of a corresponding register associated with a first variable of the loop and to delay storage of contents of the register. The system also includes a dynamic random access memory (DRAM). Other embodiments are described and claimed.

    摘要翻译: 在一个实施例中,系统包括处理器,其包括至少一个核,以执行包括S级的循环的操作。 该系统还包括阶段插入装置,用于向环路增加延迟级,以增加与循环的第一变量相关联的相应寄存器的寿命并延迟存储寄存器的内容。 该系统还包括动态随机存取存储器(DRAM)。 描述和要求保护其他实施例。

    Methods and products for processing loop nests
    10.
    发明申请
    Methods and products for processing loop nests 失效
    加工环巢的方法和产品

    公开(公告)号:US20050097509A1

    公开(公告)日:2005-05-05

    申请号:US10944986

    申请日:2004-09-20

    摘要: Methods and products for processing a software kernel of instructions are disclosed. The software kernel has stages representing a loop nest. The software kernel is processed by partitioning iterations of an outermost loop into groups with each group representing iterations of the outermost loop, running the software kernel and rotating a register file for each stage of the software kernel preceding an innermost loop to generate code to prepare for filling and executing instructions in software pipelines for a current group, running the software kernel for each stage of the software kernel in the innermost loop to generate code to fill the software pipelines for the current group with the register file being rotated after at least one run of the software kernel for the innermost loop, and repeatedly running the software kernel to unroll inner loops to generate code to further fill the software pipelines for the current group.

    摘要翻译: 公开了用于处理指令的软件内核的方法和产品。 软件内核具有代表循环嵌套的阶段。 软件内核通过将最外层循环的迭代划分成组,每组代表最外层循环的迭代,运行软件内核并旋转位于最内圈之前的软件内核的每个阶段的寄存器文件来生成代码以准备 在当前组的软件管道中填充和执行指令,为最内层循环中的软件内核的每个阶段运行软件内核,以生成代码以填充当前组的软件流水线,其中寄存器文件在至少一次运行后旋转 的软件内核,并重复运行软件内核以展开内部循环以生成代码,以进一步填充当前组的软件流水线。