Methods and apparatus for ManArray PE-PE switch control
First Claim
1. A processing machine comprising:
- a plurality of processing elements (PEs), each of said PEs identified by an identification number, each identification number being unique among the plurality of PEs, each of said PEs including a data input port, a data output port and switch control logic providing control outputs; and
a switch controlled by the control outputs, and connected to the data input ports, the data output ports and the control outputs, said switch for selectably connecting at least one of the data output ports to at least one of the data input ports based on the control outputs;
each PE'"'"'s switch control logic controlling said switch utilizing the control outputs based on a logical combination of each PE'"'"'s own identification number and a communication instruction received by said PEs.
3 Assignments
0 Petitions
Accused Products
Abstract
Processing element to processing element switch connection control is described using a receive model that precludes communication hazards from occurring in a synchronous MIMD mode of operation. Such control allows different communication topologies and various processing effects such as an array transpose, hypercomplement or the like to be efficiently achieved utilizing architectures, such as the manifold array processing architecture. An encoded instruction method reduces the amount of state information and setup burden on the programmer taking advantage of the recognition that the majority of algorithms will use only a small fraction of all possible mux settings available. Thus, by means of transforming the PE identification based upon a communication path specified by a PE communication instruction an efficient switch control mechanism can be used. This control mechanism allows PE register broadcast operations as well as the standard mesh and hypercube communication paths over the same interconnection network. PE to PE communication instructions PEXCHG, SPRECV and SPSEND are also defined and implemented.
-
Citations
20 Claims
-
1. A processing machine comprising:
-
a plurality of processing elements (PEs), each of said PEs identified by an identification number, each identification number being unique among the plurality of PEs, each of said PEs including a data input port, a data output port and switch control logic providing control outputs; and
a switch controlled by the control outputs, and connected to the data input ports, the data output ports and the control outputs, said switch for selectably connecting at least one of the data output ports to at least one of the data input ports based on the control outputs;
each PE'"'"'s switch control logic controlling said switch utilizing the control outputs based on a logical combination of each PE'"'"'s own identification number and a communication instruction received by said PEs. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A processing machine comprising:
-
an array of processing elements (PEs) for receiving a communication instruction, each of said PEs identified by an identification number and comprising switch control logic providing control outputs, each identification number being unique among the array of PEs; and
a switch for communicatively connecting said PEs, said switch configurable in a plurality of communication topologies;
each PE'"'"'s switch control logic configuring a portion of the switch in one of said plurality of communication topologies based on a logical combination of each PEs own identification number and the communication instruction. - View Dependent Claims (13, 14, 15, 16, 17)
-
-
18. A method of operating a processing machine having a plurality of processing elements (PEs), each of said PEs identified by an identification number, each identification number being unique among the plurality of PEs, the processing machine further including a switch for communicatively connecting said PEs, each PE including control outputs connected to the switch, the method comprising the steps of:
-
receiving a communication instruction by said PEs; and
configuring said switch by said PEs, each PE configuring the switch with control outputs based on a logical combination of its own identification number and the communication instruction. - View Dependent Claims (19, 20)
transmitting data on the output port to said switch by each PE; and
receiving data on the input port from said switch by each PE.
-
-
20. The method of claim 19 wherein the step of configuring said switch further comprises the step of:
transmitting control values on the control outputs of each PE.
Specification