Patents Assigned to Graphcore Limited
  • Patent number: 12273432
    Abstract: One or more bits of the destination MAC address indicate a number of times a reset event has occurred. These bits may be referred to as a generation number. The generation number in a destination MAC address is updated when a reset event occurs. In this way, frames issued by the sender prior to the reset may be distinguished from frames issued after the reset, since the destination MAC addresses in those frames will not match. In this way, the recipient device is protected from stale packets.
    Type: Grant
    Filed: September 30, 2022
    Date of Patent: April 8, 2025
    Assignee: GRAPHCORE LIMITED
    Inventors: Bjorn Dag Johnsen, Brian Edward Manula
  • Patent number: 12273268
    Abstract: A memory attachment and routing chip includes a single die having a set of external ports; at least one memory attachment interface comprising a memory controller to attach to external memory, and a fabric core in which routing logic is implemented. The routing logic can (i) receive a first packet of a first type from a first port of the set of ports, the first type of packet being a memory access packet with a memory address which lies in a range of memory addresses associated with the memory attachment and routing chip, detect the memory address and route the packet of the first type to the memory attachment interface. The routing logic can (ii) receive a second packet of a second type, the second type of packet being an inter-processor packet comprising a destination identifier identifying a processing chip external to the memory attachment.
    Type: Grant
    Filed: January 25, 2023
    Date of Patent: April 8, 2025
    Assignee: GRAPHCORE LIMITED
    Inventors: Simon Christian Knowles, Stephen Felix, Daniel John Pelham Wilkinson
  • Patent number: 12248429
    Abstract: A computer comprising a plurality of interconnected processing nodes arranged in a configuration in which multiple layers of interconnected nodes are arranged along an axis, each layer comprising at least four processing nodes connected in a non-axial ring by at least respective intralayer link between each pair of neighbouring processing nodes, wherein each of the at least four processing nodes in each layer is connected to a respective corresponding node in one or more adjacent layer by a respective interlayer link, the computer being programmed to provide in the configuration two embedded one dimensional paths and to transmit data around each of the two embedded one dimensional paths, each embedded one dimensional path using all processing nodes of the computer in such a manner that the two embedded one dimensional paths operate simultaneously without sharing links.
    Type: Grant
    Filed: March 17, 2023
    Date of Patent: March 11, 2025
    Assignee: GRAPHCORE LIMITED
    Inventor: Simon Knowles
  • Patent number: 12242860
    Abstract: Each of the nodes stores a number, referred to herein as a generation number, which is updated whenever the respective node undergoes a reset and restart from checkpoint. Since the nodes of the system participate in the same reset event, at most times, each generation number held by a node will be the same across the system. However, in some cases, when one node resets before another node, the generation numbers between those two nodes will differ. The data frames sent between the nodes each comprise a generation number of the sending node, which is checked by the recipient and only accepted if the generation number in the frames matches the generation number of the recipient node.
    Type: Grant
    Filed: February 22, 2023
    Date of Patent: March 4, 2025
    Assignee: GRAPHCORE LIMITED
    Inventors: Daniel John Pelham Wilkinson, Bjorn Dag Johnsen
  • Patent number: 12164637
    Abstract: A new apparatus and method for securely distributing an application to processors of a processing unit. The processing unit is formed as part of an integrated circuit and comprises a plurality of processors (referred to as tiles), each having their own execution unit and storage for storing application data and additional executable instructions. The integrated circuit comprises a hardware module (referred to herein as the autoloader) that is configured to distribute a set of bootloader instructions (referred to herein as a secondary bootloader) to each of at least some of the tiles. Each of the tiles then executes instructions of the received secondary bootloader, which causes each tile to issue read requests to read a set of executable application instructions from a memory external to the integrated circuit. Each tile then performs operations using the received set of executable application instructions so as execute the application using the processing unit.
    Type: Grant
    Filed: June 4, 2021
    Date of Patent: December 10, 2024
    Assignee: GRAPHCORE LIMITED
    Inventor: Daniel John Pelham Wilkinson
  • Patent number: 12140629
    Abstract: A method for repairing a processor. The processor comprises a plurality of processing units and an exchange comprising a plurality of exchange paths for transmitting data between the processing units. Each processing unit is connected to output data to a respective exchange path. An exchange path functional test of at least a portion of the exchange paths is carried out. Based on the exchange path functional test, it is identified that one or more of the exchange paths is defective, and the processing units connected to the one or more defective exchange paths is identified. The identified processing units are switched out of functional operation of the processor and switching in at least one repair processing unit connected to a non-defective exchange path for functional operation of the processor.
    Type: Grant
    Filed: July 22, 2022
    Date of Patent: November 12, 2024
    Assignee: GRAPHCORE LIMITED
    Inventors: Stephen Felix, Natalie Narkonski, Philip Horsfield
  • Patent number: 12143244
    Abstract: A gateway for interfacing a host with a subsystem for acting as a work accelerator to the host. The gateway enables the transfer of batches of data to the subsystem at precompiled data exchange synchronisation points. The gateway acts to route data between accelerators which are connected in a scaled system of multiple gateways and accelerators using a global address space set up at compile time of an application to run on the computer system.
    Type: Grant
    Filed: August 30, 2022
    Date of Patent: November 12, 2024
    Assignee: GRAPHCORE LIMITED
    Inventors: Ola Torudbakken, Daniel John Pelham Wilkinson, Brian Manula
  • Patent number: 12124892
    Abstract: Each of the processing devices stores an event vector, which is updated when certain events (e.g. memory errors, overtemperature events) occur on the device. Different elements of the vector correspond to different types of events. When an event of a given type occurs on one device, the update to the event vector on that device is propagated to other devices in the system. Those other devices, in response, update the corresponding element in their own event vector to indicate that an event of that given type has occurred in the system. In this way, events are aggregated between the different devices using the event vector. The event vector is considered to be a global event vector, since its elements indicate whether certain events have occurred across the entire system, and the vector is consistent across the system.
    Type: Grant
    Filed: February 28, 2023
    Date of Patent: October 22, 2024
    Assignee: GRAPHCORE LIMITED
    Inventors: Daniel John Pelham Wilkinson, Bjorn Dag Johnsen
  • Patent number: 12124699
    Abstract: A new type of instruction and a control register for the new type of instruction are provided to handle data that may be misaligned in memory. A first part of data (which may be misaligned in memory) is loaded into a first set of registers by loading a first atom containing the first part of data into registers. The pack instruction is executed by an execution unit to place part of data (whose length and starting position are indicated by second and third values in a control register) from one set of registers into an identified location (identified by a first value in the control register) in another set of registers.
    Type: Grant
    Filed: November 9, 2022
    Date of Patent: October 22, 2024
    Assignee: GRAPHCORE LIMITED
    Inventors: Alan Alexander, Edward Andrews, Peter Hedinger
  • Patent number: 12112164
    Abstract: A processing device comprising a plurality of operand registers, wherein a first subset of the operand registers are configured to store state information for a plurality of bins, comprising a range of values and a bin count associated with each respective bin, wherein a second subset of the operand registers is configured to store a vector of floating-point values; and an execution unit configured to execute a first instruction taking the state information for the plurality of bins and the vector of floating-point values as operands, and in response to execution of the first instruction, for each of the floating-point values: identify based on an exponent of the respective floating-point value, each one of the plurality of bins for which the respective floating-point value falls within the associated range of values; and increment the bin count associated with the identified bins.
    Type: Grant
    Filed: February 28, 2023
    Date of Patent: October 8, 2024
    Assignee: GRAPHCORE LIMITED
    Inventors: Alan Alexander, Simon Knowles, Godfrey Da Costa, Badreddine Noune
  • Patent number: 12073262
    Abstract: A host system compiles a set of local programs which are provided over a network to a plurality of subsystems. By defining the synchronisation activity on the host, and then providing that information to the subsystems, the host can service a large number of subsystems. The defined synchronisation activity includes defining the synchronisation groups between which synchronisation barriers occur and the points during program execution at which data exchange with the host occurs. Defining synchronisation activity between the subsystems allows a large number of subsystems to be connecting whilst minimising the required exchanges with the host.
    Type: Grant
    Filed: June 4, 2021
    Date of Patent: August 27, 2024
    Assignee: GRAPHCORE LIMITED
    Inventors: Ola Torudbakken, Wei-Lin Guay
  • Patent number: 12056539
    Abstract: A data processing system comprising a plurality of processing nodes that are arranged to update a model in a parallel manner Each of the processing nodes starts with a different set of updates to model parameters. Each of the processing nodes is configured to perform one or more reduce-scatter collectives so as to exchange and reduce the updates. Having done so, each processing node is configured to apply the reduced set of updates to obtain an updated set of model parameters. The processing nodes then exchange the updated model parameters using an all-gather so that each processing node ends up with the same model parameters at the end of the process.
    Type: Grant
    Filed: July 14, 2020
    Date of Patent: August 6, 2024
    Assignee: GRAPHCORE LIMITED
    Inventors: Ola Torudbakken, Lorenzo Cevolani
  • Patent number: 12047486
    Abstract: The device implements a processing pipeline having distinct circuitry for performing encryption/decryption operations and authentication operations and having state stores associated with the respective operations. The state stores store state associated with a given encryption frame, enabling the respective operations to be performed when blocks of data reach that stage in the pipeline. Due to the complexity of operations in a block cipher encryption scheme, the pipeline is deep, which provide the possibility for processing multiple data packets at any one time. The provision of the state stores at the stages in the pipeline at which they are required prevents stalling when a new data packet is received.
    Type: Grant
    Filed: June 25, 2021
    Date of Patent: July 23, 2024
    Assignee: GRAPHCORE LIMITED
    Inventor: Graham Cunningham
  • Patent number: 12032021
    Abstract: A method for testing a stacked integrated circuit device comprising a first die and a second die, the method comprising: sending from testing logic of the first die, first testing control signals to first testing apparatus on the first die; in response to the first testing control signals, the first testing apparatus running a first one or more tests for testing functional logic or memory of the first die; sending from the testing logic of the first die, second testing control signals to the second die via through silicon vias formed in a substrate of the first die; and in dependence upon the second testing control signals from the first die, running a second one or more tests for testing the stacked integrated circuit device.
    Type: Grant
    Filed: September 22, 2022
    Date of Patent: July 9, 2024
    Assignee: Graphcore Limited
    Inventors: Stephen Felix, Phillip Horsfield
  • Patent number: 12019527
    Abstract: A processor comprises a plurality of processing units, wherein there is a fixed transmission time for transmitting a message from a sending processing unit to a receiving processing unit, based on the physical positions of the sending and receiving processing units in the processor. The processing units are arranged in a column, and the fixed transmission time depends on the position of a processing circuit in the column. An exchange fabric is provided for exchanging messages between sending and receiving processing units, the columns being arranged with respect to the exchange fabric such that the fixed transmission time depends on the distances of the processing circuits with respect to the exchange fabric.
    Type: Grant
    Filed: September 10, 2021
    Date of Patent: June 25, 2024
    Assignee: Graphcore Limited
    Inventor: Stephen Felix
  • Patent number: 12013781
    Abstract: For certain applications, parts of the application data held in memory of a processing device (e.g. that are produced as a result of operations performed by the execution unit) are arranged in regular repeating patterns in the memory, and therefore, the execution unit may set up a suitable striding pattern for use by a send engine. The send engine accesses the memory at locations in accordance with the configured striding pattern so as to access a plurality of items of data that are arranged together in a regular pattern. In a similar manner as done for sends, the execution may set up a striding pattern for use by a receive engine. The receive engine, upon receiving a plurality of items of data, causes those items of data to be stored at locations in the memory, as determined in accordance with the configured striding pattern.
    Type: Grant
    Filed: March 1, 2022
    Date of Patent: June 18, 2024
    Assignee: Graphcore Limited
    Inventors: Sam Chesney, Alan Graham Alexander, Richard Luke Southwell Osborne, Edward Andrews
  • Patent number: 12001263
    Abstract: There is disclosed a method of controlling the frequency of a clock signal in a processor. The method selects a first clock generator to provide a processor clock signal for executing an application. If a threshold event is detected, a second clock generator is selected. The method reduces the frequency of a clock signal generated by the first clock generator while a processor clock signal is being provided for execution of an application from the second clock generator. The second clock generator generates a clock at a lower speed than the first clock generator. After a predetermined time, the first clock generator is reselected to provide the processor clock signal. The threshold detection is repeated until an optimum clock frequency is discovered.
    Type: Grant
    Filed: April 5, 2023
    Date of Patent: June 4, 2024
    Assignee: Graphcore Limited
    Inventors: Stephen Felix, Mrudula Gore
  • Patent number: 11966740
    Abstract: A processor comprising: a register file comprising a group of operand registers for holding data values, each operand register being a fixed number of bits in length for holding a respective data value of that length; and processing logic comprising floating point logic for performing floating point operations on data values in the register file, the floating point logic is configured to process the fixed number of bits in the respective data value according to a floating point format comprising a set of mantissa bits and a set of exponent bits. The processing logic is operable to select between a plurality of different variants of the floating point format, at least some of the variants having a different size sets of mantissa bits and exponent bits relative to one another.
    Type: Grant
    Filed: August 10, 2021
    Date of Patent: April 23, 2024
    Assignee: Graphcore Limited
    Inventors: Mrudula Gore, Alan Alexander
  • Patent number: 11940940
    Abstract: A processing device has a plurality of interfaces and a plurality of processors. During different phases of execution of a computer program, different processors are associated with different interfaces, such that the connectivity between processors and interfaces for the sending of egress data and the receiving of ingress data may change during execution of that computer program. The change in this connectivity is directed by the compiled code running on the processors. The compiled code selects which buses associated with which interfaces, given processors are to connect to for receipt of ingress data. Furthermore, the compiled code causes control messages to be sent to circuitry associated with the interfaces, so as to control which buses associated with which processors, given interfaces are to connect to.
    Type: Grant
    Filed: April 12, 2022
    Date of Patent: March 26, 2024
    Assignee: GRAPHCORE LIMITED
    Inventors: Daniel Wilkinson, Stephen Felix, Simon Knowles, Graham Cunningham, David Lacey
  • Patent number: 11928523
    Abstract: A multi-tile processing unit in which the tiles in the processing unit may be divided between two or more different external sync groups for performing barrier synchronisations. In this way, different sets of tiles of the same processing unit each sync with different sets of tiles external to that processing unit.
    Type: Grant
    Filed: September 1, 2021
    Date of Patent: March 12, 2024
    Assignee: GRAPHCORE LIMITED
    Inventors: Simon Knowles, Daniel John Pelham Wilkinson, Alan Alexander, Stephen Felix, Richard Osborne, David Lacey, Lars Paul Huse