Synchronization in a multi-tile, multi-chip processing arrangement
First Claim
1. A method of operating a system comprising multiple processor tiles divided into a plurality of domains wherein within each domain the tiles are connected to one another via a respective instance of a time-deterministic interconnect and between domains the tiles are connected to one another via a non-time-deterministic interconnect;
- the method comprising;
on each respective one of a participating group of some or all of the tiles across the domains, performing a compute stage in which the respective tile performs a respective one or more on-tile computations, but communicates computation results neither to nor from any others of the tiles in the group;
within each respective one of said one or more domains, performing a respective internal barrier synchronization to require that all the participating tiles in the respective domain have completed the compute phase before any of the participating tiles in the respective domain is allowed to proceed to an internal exchange phase, thereby establishing a common time-reference between all participating tiles internally within each individual one of said one or more domains;
following the respective internal barrier synchronization, performing said internal exchange phase within each of said one or more domains, in which each participating tile within the respective domain communicates one or more results of its respective computations to and/or from one or more others of the participating tiles within the same domain via the time-deterministic interconnect, but communicates computation results neither to nor from any others of said domains;
performing an external barrier synchronization to require all the participating tiles of said domains to have completed the internal exchange phase before any of the participating tiles is allowed to proceed to an external exchange phase, thereby establishing a common time-reference between all participating tiles across the domains; and
following said external barrier synchronization, performing the external exchange phase in which one or more of the participating tiles communicate one or more of said computation results with another of the domains via the non-time-deterministic interconnect.
1 Assignment
0 Petitions
Accused Products
Abstract
A method of operating a system comprising multiple processor tiles divided into a plurality of domains wherein within each domain the tiles are connected to one another via a respective instance of a time-deterministic interconnect and between domains the tiles are connected to one another via a non-time-deterministic interconnect. The method comprises: performing a compute stage, then performing a respective internal barrier synchronization within each domain, then performing an internal exchange phase within each domain, then performing an external barrier synchronization to synchronize between different domains, then performing an external exchange phase between the domains.
-
Citations
23 Claims
-
1. A method of operating a system comprising multiple processor tiles divided into a plurality of domains wherein within each domain the tiles are connected to one another via a respective instance of a time-deterministic interconnect and between domains the tiles are connected to one another via a non-time-deterministic interconnect;
- the method comprising;
on each respective one of a participating group of some or all of the tiles across the domains, performing a compute stage in which the respective tile performs a respective one or more on-tile computations, but communicates computation results neither to nor from any others of the tiles in the group; within each respective one of said one or more domains, performing a respective internal barrier synchronization to require that all the participating tiles in the respective domain have completed the compute phase before any of the participating tiles in the respective domain is allowed to proceed to an internal exchange phase, thereby establishing a common time-reference between all participating tiles internally within each individual one of said one or more domains; following the respective internal barrier synchronization, performing said internal exchange phase within each of said one or more domains, in which each participating tile within the respective domain communicates one or more results of its respective computations to and/or from one or more others of the participating tiles within the same domain via the time-deterministic interconnect, but communicates computation results neither to nor from any others of said domains; performing an external barrier synchronization to require all the participating tiles of said domains to have completed the internal exchange phase before any of the participating tiles is allowed to proceed to an external exchange phase, thereby establishing a common time-reference between all participating tiles across the domains; and following said external barrier synchronization, performing the external exchange phase in which one or more of the participating tiles communicate one or more of said computation results with another of the domains via the non-time-deterministic interconnect. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22)
- the method comprising;
-
23. A system comprising multiple processor tiles divided into a plurality of domains wherein within each domain the tiles are connected to one another via a respective instance of a time-deterministic interconnect and between domains the tiles are connected to one another via a non-time-deterministic interconnect;
- the system being programmed to perform operations of;
on each respective one of a participating group of some or all of the tiles across the domains, performing a compute stage in which the respective tile performs a respective one or more on-tile computations, but communicates computation results neither to nor from any others of the tiles in the group; within each respective one of said one or more domains, performing a respective internal barrier synchronization to require that all the participating tiles in the respective domain have completed the compute phase before any of the participating tiles in the respective domain is allowed to proceed to an internal exchange phase, thereby establishing a common time-reference between all participating tiles internally within each individual one of said one or more domains; following the respective internal barrier synchronization, performing said internal exchange phase within each of said one or more domains, in which each participating tile within the respective domain communicates one or more results of its respective computations to and/or from one or more others of the participating tiles within the same domain via the time-deterministic interconnect, but communicates computation results neither to nor from any others of said domains; performing an external barrier synchronization to require all the participating tiles of said domains to have completed the internal exchange phase before any of the participating tiles is allowed to proceed to an external exchange phase, thereby establishing a common time-reference between all participating tiles across the domains; and following said external barrier synchronization, performing the external exchange phase in which one or more of the participating tiles communicate one or more of said computation results with another of the domains via the non-time-deterministic interconnect.
- the system being programmed to perform operations of;
Specification