US 11,928,523 B2
Synchronisation for a multi-tile processing unit
Simon Knowles, Corston (GB); Daniel John Pelham Wilkinson, Bristol (GB); Alan Alexander, Wotton-under-Edge (GB); Stephen Felix, Bristol (GB); Richard Osborne, Bristol (GB); David Lacey, Cheltenham (GB); and Lars Paul Huse, Oppegaard (GB)
Assigned to GRAPHCORE LIMITED, Bristol (GB)
Filed by Graphcore Limited, Bristol (GB)
Filed on Sep. 1, 2021, as Appl. No. 17/446,681.
Claims priority of application No. 2110148 (GB), filed on Jul. 14, 2021.
Prior Publication US 2023/0029217 A1, Jan. 26, 2023
Int. Cl. G06F 1/04 (2006.01); G06F 9/30 (2018.01); G06F 9/38 (2018.01); G06F 9/52 (2006.01); G06F 1/12 (2006.01)
CPC G06F 9/522 (2013.01) [G06F 9/30087 (2013.01); G06F 9/3858 (2023.08); G06F 1/12 (2013.01)] 23 Claims
OG exemplary drawing
 
1. A processing device comprising a processing unit comprising a plurality of processors, wherein the plurality of processors comprises a first set of processors and a second set of processors,
wherein each processor of the first set of processors is configured to participate in a first barrier synchronisation enforced between a first synchronisation group comprising the first set of processors and a third set of processors belonging to a first further processing device, wherein the first barrier synchronisation separates a compute phase for the first synchronisation group from a first exchange phase for the first synchronisation group,
wherein each of at least some of the processors of the first set of processors is configured to, during the first exchange phase, exchange data with the third set of processors,
wherein each processor of the second set of processors is configured to participate in a second barrier synchronisation enforced between a second synchronisation group comprising the second set of processors and a fourth set of processors belonging to a second further processing device, wherein the second barrier synchronisation separates a compute phase for the second synchronisation group from a second exchange phase for the second synchronisation group,
wherein each of at least some of the processors of the second set of processors is configured to, during the second exchange phase, exchange data with the fourth set of processors,
wherein the first exchange phase overlaps in time with the second exchange phase, and
wherein the processing device comprises an external sync controller comprising circuitry configured to:
coordinate the first barrier synchronisation between processors of the first synchronisation group by exchanging first sync messages with the first further processing device; and
coordinate the second barrier synchronisation between processors of the second synchronisation group by exchanging second sync messages with the second further processing device.