×

Method and apparatus for a compiler and related components for stream-based computations for a general-purpose, multiple-core system

  • US 10,318,260 B2
  • Filed: 04/02/2018
  • Issued: 06/11/2019
  • Est. Priority Date: 08/06/2010
  • Status: Active Grant
First Claim
Patent Images

1. A method of converting a source code program including stream domain code having multiple parallel computing construct program streams and thread domain code for execution on a multiple node computing device, called functions, and a ping stream expression, comprising machine executable code which when executed by at least one machine, causes the machine to:

  • convert the source code program to a converted program including object modules, object module instances and executables;

    receive a data structure containing source modules, source module instances and source code for called functions and for each operation and for each function call;

    create or retrieve a separate source module that includes;

    identical input streams to the inputs of the operation or function;

    a single output stream with the same type as the output of the operation or function; and

    thread-domain code that;

    consumes a single ping value from each input stream and supplies those ping values to an instance of the operation or a function call;

    puts the ping value resulting from the operation or function call into the module output stream;

    sends an appropriate forward acknowledgement to the destination stream;

    sends an appropriate backward acknowledgement to an output port, wherein only the forward and backward acknowledgements are sent;

    read a first and a second object module instance converted from the source code program including stream domain code and thread domain code, wherein the first object module instance is a stream source of a program stream of the multiple parallel computing construct program streams and the second object module instance is at least one stream destination of the program stream, wherein the program stream conveys ping values from the stream source to the at least one stream destination; and

    match the object module instances to at least one of a plurality of cores on the multiple core computing device.

View all claims
  • 3 Assignments
Timeline View
Assignment View
    ×
    ×