Method and apparatus for a compiler and related components for stream-based computations for a general-purpose, multiple-core system
First Claim
1. A method of transmitting a communication having a destination node field from a source node to a plurality of destination nodes in a plurality of nodes in a computing system, each node having multiple input ports and multiple output ports, each input port and output port capable of being either enabled or disabled, the method comprising:
- setting an input port in a destination input port field of the communication;
setting bits including at least one don'"'"'t care bit in a broadcast-area field of the communication;
determining from the broadcast-area field of the communication which bits of the destination-node field of the communication are don'"'"'t-care bits; and
transmitting the communication to the input port specified in the destination input port field of the data word to the one or more destination nodes such that (i) the specified input port of the destination node is enabled and (ii) the bits in the destination node address that do not correspond to the don'"'"'t-care bits in the destination-node field of the communication are identical to the corresponding bits in the destination-node field of the communication, wherein the destination-node field includes low-order bits, and wherein the broadcast-area field of the communication indicates that some number of low-order bits of the destination-node field of the communication are don'"'"'t-care bits.
3 Assignments
0 Petitions
Accused Products
Abstract
A method and system of compiling and linking source stream programs for efficient use of multi-node devices. The system includes a compiler, a linker, a loader and a runtime component. The process converts a source code stream program to a compiled object code that is used with a programmable node based computing device having a plurality of processing nodes coupled to each other. The programming modules include stream statements for input values and output values in the form of sources and destinations for at least one of the plurality of processing nodes and stream statements that determine the streaming flow of values for the at least one of the plurality of processing nodes. The compiler converts the source code stream based program to object modules, object module instances and executables. The linker matches the object module instances to at least one of the multiple cores. The loader loads the tasks required by the object modules in the nodes and configure the nodes matched with the object module instances. The runtime component runs the converted program.
19 Citations
8 Claims
-
1. A method of transmitting a communication having a destination node field from a source node to a plurality of destination nodes in a plurality of nodes in a computing system, each node having multiple input ports and multiple output ports, each input port and output port capable of being either enabled or disabled, the method comprising:
-
setting an input port in a destination input port field of the communication; setting bits including at least one don'"'"'t care bit in a broadcast-area field of the communication; determining from the broadcast-area field of the communication which bits of the destination-node field of the communication are don'"'"'t-care bits; and transmitting the communication to the input port specified in the destination input port field of the data word to the one or more destination nodes such that (i) the specified input port of the destination node is enabled and (ii) the bits in the destination node address that do not correspond to the don'"'"'t-care bits in the destination-node field of the communication are identical to the corresponding bits in the destination-node field of the communication, wherein the destination-node field includes low-order bits, and wherein the broadcast-area field of the communication indicates that some number of low-order bits of the destination-node field of the communication are don'"'"'t-care bits. - View Dependent Claims (2, 3)
-
-
4. A computing device comprising:
-
a processor; a memory coupled to processor; a plurality of nodes, each node having multiple input ports and multiple output ports, each input port and output port capable of being either enabled or disabled; an interconnection network allowing a source node of the plurality of nodes to transmit a forward acknowledgment having a destination-node field, a destination-input-port field and a broadcast-area field to the same input port of one or more destination nodes of the plurality of nodes, wherein the destination-node field includes low-order bits, and wherein the broadcast-area field includes at least one don'"'"'t care bit and indicates that some number of low-order bits of the destination-node field of the forward acknowledgement are don'"'"'t-care bits, the interconnection network performing the transmission by; determining from the broadcast-area field of the forward acknowledgment which bits of the destination-node field of the forward acknowledgment are don'"'"'t-care bits, transmitting the forward acknowledgment to the input port specified in the destination-input-port field of the forward acknowledgment to the one or more destination nodes such that (i) the specified input port of the destination node is enabled; and (ii) the bits in the destination node address that do not correspond to don'"'"'t-care bits in the destination-node field of the forward acknowledgment are identical to the corresponding bits in the destination-node field of the forward acknowledgment. - View Dependent Claims (5, 6, 7, 8)
-
Specification