Method and system for converting a single-threaded software program into an application-specific supercomputer

    公开(公告)号:US09495223B2

    公开(公告)日:2016-11-15

    申请号:US14581169

    申请日:2014-12-23

    IPC分类号: G06F9/45 G06F17/50 G06F9/52

    摘要: The invention comprises (i) a compilation method for automatically converting a single-threaded software program into an application-specific supercomputer, and (ii) the supercomputer system structure generated as a result of applying this method. The compilation method comprises: (a) Converting an arbitrary code fragment from the application into customized hardware whose execution is functionally equivalent to the software execution of the code fragment; and (b) Generating interfaces on the hardware and software parts of the application, which (i) Perform a software-to-hardware program state transfer at the entries of the code fragment; (ii) Perform a hardware-to-software program state transfer at the exits of the code fragment; and (iii) Maintain memory coherence between the software and hardware memories. If the resulting hardware design is large, it is divided into partitions such that each partition can fit into a single chip. Then, a single union chip is created which can realize any of the partitions.

    Method and system for converting a single-threaded software program into an application-specific supercomputer

    公开(公告)号:US10146516B2

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

    申请号:US15257319

    申请日:2016-09-06

    摘要: The invention comprises (i) a compilation method for automatically converting a single-threaded software program into an application-specific supercomputer, and (ii) the supercomputer system structure generated as a result of applying this method. The compilation method comprises: (a) Converting an arbitrary code fragment from the application into customized hardware whose execution is functionally equivalent to the software execution of the code fragment; and (b) Generating interfaces on the hardware and software parts of the application, which (i) Perform a software-to-hardware program state transfer at the entries of the code fragment; (ii) Perform a hardware-to-software program state transfer at the exits of the code fragment; and (iii) Maintain memory coherence between the software and hardware memories. If the resulting hardware design is large, it is divided into partitions such that each partition can fit into a single chip. Then, a single union chip is created which can realize any of the partitions.

    Parallel hardware hypervisor for virtualizing application-specific supercomputers

    公开(公告)号:US20230251882A1

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

    申请号:US18130358

    申请日:2023-04-03

    IPC分类号: G06F9/455 G06F15/78 G06F9/50

    摘要: A parallel hypervisor system for virtualizing application-specific supercomputers is disclosed. The hypervisor system comprises (a) at least one software-virtual hardware pair consisting of a software application, and an application-specific virtual supercomputer for accelerating the said software application, wherein (i) The virtual supercomputer contains one or more virtual tiles; and (ii) The software application and the virtual tiles communicate among themselves with messages; (b) One or more reconfigurable physical tiles, wherein each virtual tile of each supercomputer can be implemented on at least one physical tile, by configuring the physical tile to perform the virtual tile’s function; and (c) A scheduler implemented substantially in hardware, for parallel pre-emptive scheduling of the virtual tiles on the physical tiles.

    Parallel hardware hypervisor for virtualizing application-specific supercomputers

    公开(公告)号:US11645099B2

    公开(公告)日:2023-05-09

    申请号:US17343982

    申请日:2021-06-10

    IPC分类号: G06F9/455 G06F15/78 G06F9/50

    摘要: A parallel hypervisor system for virtualizing application-specific supercomputers is disclosed. The hypervisor system comprises (a) at least one software-virtual hardware pair consisting of a software application, and an application-specific virtual supercomputer for accelerating the said software application, wherein (i) The virtual supercomputer contains one or more virtual tiles; and (ii) The software application and the virtual tiles communicate among themselves with messages; (b) One or more reconfigurable physical tiles, wherein each virtual tile of each supercomputer can be implemented on at least one physical tile, by configuring the physical tile to perform the virtual tile's function; and (c) A scheduler implemented substantially in hardware, for parallel pre-emptive scheduling of the virtual tiles on the physical tiles.

    Method and system for converting a single-threaded software program into an application-specific supercomputer

    公开(公告)号:US20200278848A1

    公开(公告)日:2020-09-03

    申请号:US16819405

    申请日:2020-03-16

    摘要: The invention comprises (i) a compilation method for automatically converting a single-threaded software program into an application-specific supercomputer, and (ii) the supercomputer system structure generated as a result of applying this method. The compilation method comprises: (a) Converting an arbitrary code fragment from the application into customized hardware whose execution is functionally equivalent to the software execution of the code fragment; and (b) Generating interfaces on the hardware and software parts of the application, which (i) Perform a software-to-hardware program state transfer at the entries of the code fragment; (ii) Perform a hardware-to-software program state transfer at the exits of the code fragment; and (iii) Maintain memory coherence between the software and hardware memories. If the resulting hardware design is large, it is divided into partitions such that each partition can fit into a single chip. Then, a single union chip is created which can realize any of the partitions.

    Parallel hardware hypervisor for virtualizing application-specific supercomputers

    公开(公告)号:US20190179656A1

    公开(公告)日:2019-06-13

    申请号:US16280125

    申请日:2019-02-20

    IPC分类号: G06F9/455 G06F9/50 G06F15/78

    摘要: A parallel hypervisor system for virtualizing application-specific supercomputers is disclosed. The hypervisor system comprises (a) at least one software-virtual hardware pair consisting of a software application, and an application-specific virtual supercomputer for accelerating the said software application, wherein (i) The virtual supercomputer contains one or more virtual tiles; and (ii) The software application and the virtual tiles communicate among themselves with messages; (b) One or more reconfigurable physical tiles, wherein each virtual tile of each supercomputer can be implemented on at least one physical tile, by configuring the physical tile to perform the virtual tile's function; and (c) A scheduler implemented substantially in hardware, for parallel pre-emptive scheduling of the virtual tiles on the physical tiles.

    Method and system for converting a single-threaded software program into an application-specific supercomputer
    9.
    发明申请
    Method and system for converting a single-threaded software program into an application-specific supercomputer 有权
    将单线程软件程序转换为专用超级计算机的方法和系统

    公开(公告)号:US20150317190A1

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

    申请号:US14581169

    申请日:2014-12-23

    IPC分类号: G06F9/52

    摘要: The invention comprises (i) a compilation method for automatically converting a single-threaded software program into an application-specific supercomputer, and (ii) the supercomputer system structure generated as a result of applying this method. The compilation method comprises: (a) Converting an arbitrary code fragment from the application into customized hardware whose execution is functionally equivalent to the software execution of the code fragment; and (b) Generating interfaces on the hardware and software parts of the application, which (i) Perform a software-to-hardware program state transfer at the entries of the code fragment; (ii) Perform a hardware-to-software program state transfer at the exits of the code fragment; and (iii) Maintain memory coherence between the software and hardware memories. If the resulting hardware design is large, it is divided into partitions such that each partition can fit into a single chip. Then, a single union chip is created which can realize any of the partitions.

    摘要翻译: 本发明包括(i)用于将单线程软件程序自动转换为特定应用程序的超级计算机的编译方法,以及(ii)应用该方法生成的超级计算机系统结构。 编译方法包括:(a)将来自应用的任意代码片段转换成其功能上等同于代码片段的软件执行的定制硬件; (b)在应用程序的硬件和软件部分生成接口,(i)在代码片段的条目处执行软件到硬件程序的状态转移; (ii)在代码片段的出口处执行硬件到软件程序状态传输; 和(iii)保持软件和硬件存储器之间的记忆一致性。 如果最终的硬件设计较大,则将其划分为分区,以使每个分区可以适合单个芯片。 然后,创建可以实现任何分区的单个联合芯片。