×

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

  • US 9,495,223 B2
  • Filed: 12/23/2014
  • Issued: 11/15/2016
  • Est. Priority Date: 11/15/2011
  • Status: Active Grant
First Claim
Patent Images

1. A general-purpose supercomputer for performing parallel execution of parallel software compiled from a code fragment within a single-threaded software application, where the general-purpose supercomputer comprises:

  • a. a plurality of general-purpose processors;

    b. one or more task networks connected to the plurality of general-purpose processors, where each task network among the one or more task networks;

    allows a first general-purpose processor on the task network to send a task invocation request to a second general-purpose processor on the task network, andallows the first general-purpose processor on the task network to receive back either a task result message or a task completion acknowledgement from the second general-purpose processor on the task network;

    c. at least one hardware synchronization unit to ensure that if a memory instruction instance I2 is dependent on a memory instruction instance I1 in sequential execution of the code fragment within the single-threaded software application, the memory instruction instance I2 is executed after the memory instruction instance I1 in the parallel execution of the parallel software performed by the general-purpose supercomputer; and

    d. at least one coherent memory hierarchy, which;

    (i) supports a plurality of load/store ports that are accessed by the plurality of general-purpose processors in parallel; and

    (ii) signals a completion of each memory instruction issued from each load/store port of the plurality of load/store ports, for supporting synchronization units;

    where the parallel execution of the parallel software by the general-purpose supercomputer is functionally equivalent to the sequential execution of the code fragment within the single-threaded software application; and

    where the general-purpose supercomputer is implemented as a plurality of copies of a union module implemented in ASIC technology, with scalable network connections, and where the union module implemented in ASIC technology is able to perform function of any of a plurality of modules resulting from partitioning a hardware design of the general-purpose supercomputer.

View all claims
  • 1 Assignment
Timeline View
Assignment View
    ×
    ×