Patents by Inventor Stephen Felix
Stephen Felix has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).
-
Patent number: 11940940Abstract: 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: GrantFiled: April 12, 2022Date of Patent: March 26, 2024Assignee: GRAPHCORE LIMITEDInventors: Daniel Wilkinson, Stephen Felix, Simon Knowles, Graham Cunningham, David Lacey
-
Patent number: 11928523Abstract: 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: GrantFiled: September 1, 2021Date of Patent: March 12, 2024Assignee: GRAPHCORE LIMITEDInventors: Simon Knowles, Daniel John Pelham Wilkinson, Alan Alexander, Stephen Felix, Richard Osborne, David Lacey, Lars Paul Huse
-
Patent number: 11900109Abstract: The present invention relates to an execution unit for executing a computer program comprising a sequence of instructions, which include a masking instruction. The execution unit is configured to execute the masking instruction which, when executed by the execution unit, masks randomly selected values from a source operand of n values and retains other original values from the source operand to generate a result which includes original values from the source operand and symbols in place of the selected values.Type: GrantFiled: February 1, 2018Date of Patent: February 13, 2024Assignee: GRAPHCORE LIMITEDInventors: Stephen Felix, Simon Christian Knowles, Godfrey Da Costa
-
Patent number: 11889615Abstract: There is provided a computer structure comprising a first silicon substrate and a second silicon substrate. Computer circuitry configured to perform computing operations is formed in the first silicon substrate, which has a self-supporting depth and an inner facing surface. A plurality of distributed capacitance units are formed in the second silicon substrate, which has an inner facing surface located in overlap with the inner facing surface of the first substrate and is connected to the first substrate via a set of connectors arranged extending depthwise of the structure between the inner facing surfaces. The inner facing surfaces have matching planar surface dimensions. The second substrate has an outer facing surface on which are arranged a plurality of connector terminals for connecting the computer structure to a supply voltage. The second substrate has a smaller depth than the first substrate.Type: GrantFiled: October 20, 2020Date of Patent: January 30, 2024Assignee: GRAPHCORE LIMITEDInventor: Stephen Felix
-
Patent number: 11886505Abstract: A function approximation system is disclosed for determining output floating point values of functions calculated using floating point numbers. Complex functions have different shapes in different subsets of their input domain, making them difficult to predict for different values of the input variable. The function approximation system comprises an execution unit configured to determine corresponding values of a given function given a floating point input to the function; a plurality of look up tables for each function type; a correction table of values which determines if corrections to the output value are required; and a table selector for finding an appropriate table for a given function.Type: GrantFiled: April 5, 2022Date of Patent: January 30, 2024Assignee: GRAPHCORE LIMITEDInventors: Jonathan Mangnall, Stephen Felix
-
Publication number: 20240004726Abstract: A data processing device comprising: a plurality of processors, each of which has an associated sync request wire and an associated sync acknowledgment wire, both of which are used for co-ordinating barrier synchronisations. Each of the processors receives a signal representing a state of its sync acknowledgment wire, and asserts a sync request by setting a state of its sync request wire to be opposite to the state of its sync acknowledgement wire. The data processing device further comprises aggregation circuitry, which aggregates the state of the sync request wires to output an aggregate sync request to a sync controller. In response, the sync controller returns to each of the processors, an acknowledgment of the sync requests by causing the state of the sync acknowledgment wires to be set to be the same as the state of the sync request wires.Type: ApplicationFiled: June 21, 2023Publication date: January 4, 2024Inventor: Stephen FELIX
-
Patent number: 11847428Abstract: An execution unit for a processor, the execution unit comprising: a look up table having a plurality of entries, each of the plurality of entries comprising an initial estimate for a result of an operation; a preparatory circuit configured to search the look up table using an index value dependent upon the operand to locate an entry comprising a first initial estimate for a result of the operation; a plurality of processing circuits comprising at least one multiplier circuit; and control circuitry configured to provide the first initial estimate to the at least one multiplier circuit of the plurality of processing circuits so as perform processing, by the plurality of processing units, of the first initial estimate to generate the function result, said processing comprising applying one or more Newton Raphson iterations to the first initial estimate.Type: GrantFiled: April 26, 2022Date of Patent: December 19, 2023Assignee: GRAPHCORE LIMITEDInventors: Jonathan Mangnall, Stephen Felix
-
Patent number: 11822427Abstract: Signature generation circuitry is configured to update a signature in response to each of a plurality of writes to memory. The signature is updated by performing bitwise operations between current bit values of the signature and at least some of the bits written to memory in response a write. The bitwise operation are order-independent such that the resulting signature is the same irrespective of the order in which the writes are used to update the signature. The signatures are formed in an order-independent manner such that, if no errors have occurred in generating the data to be written to be memory, the signatures will match. In this way, a compact signature is developed that is suitable export from the data processing device for checking against a corresponding data processing device of a machine running a duplicate application.Type: GrantFiled: August 30, 2022Date of Patent: November 21, 2023Assignee: GRAPHCORE LIMITEDInventors: Stephen Felix, Daniel Wilkinson, Graham Bernard Cunningham
-
Publication number: 20230315189Abstract: 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: ApplicationFiled: April 5, 2023Publication date: October 5, 2023Inventors: Stephen FELIX, Mrudula GORE
-
Publication number: 20230280907Abstract: A computer includes first and second computer devices of a first class. Each computer device of the first class includes first and second external ports, at least one memory controller to attach to external memory, and routing logic to route data from the first external port to one of the memory controller and the second external port. The computer further includes first and second computer devices of a second class. The first computer device of the second class is connected to the first external ports via respective first and second links. The second computer device of the second class is connected to the second external ports via respective third and fourth links. The first and second computer devices of the second class include processing circuitry to execute a computer program and are connected to the first and second links, or third and fourth links, respectively to transmit and receive messages.Type: ApplicationFiled: January 24, 2023Publication date: September 7, 2023Inventors: Simon Christian KNOWLES, Stephen FELIX, Daniel John Pelham WILKINSON
-
Publication number: 20230282539Abstract: A heatsink is provided for a memory and routing module with a lower and upper side, both sides having multiple semiconductor chips attached. The lower side of the module has a connection component attached for connection to a motherboard. The heatsink includes a module receiving region configured to receive a lower side of the module, including a first thermally conductive portion arranged to face the semiconductor chips, an aperture through the lower heatsink component and a thermally conductive peripheral region disposed around the module receiving region. The heatsink includes an upper heatsink component which is configured to connect to the lower heatsink component at the peripheral region to retain the module. The upper heatsink component includes a lower side. The lower side includes a second thermally conductive portion arranged to face the semiconductor chips disposed on an upper side of the module and multiple second heat dissipating elements.Type: ApplicationFiled: February 27, 2023Publication date: September 7, 2023Inventors: Stephen BODILEY, David JAPP, Stephen FELIX
-
Publication number: 20230281136Abstract: A memory and routing module includes a substrate and a connection component. The connection component is attached to the substrate and includes multiple pins that connect the module to a corresponding connection component on a motherboard. The substrate is connected to a dynamic random-access memory, DRAM, chip, and a routing chip. The routing chip includes a memory controller, multiple connections, and routing logic. The multiple connections include a first group between the memory controller and the DRAM chip and a second group of connections with the pins of the connection component. The routing logic routes data between the second group of connections and the first group of connections.Type: ApplicationFiled: December 2, 2022Publication date: September 7, 2023Inventors: Stephen FELIX, Simon STACEY
-
Publication number: 20230282630Abstract: A computer structure comprises a first silicon substrate in which is formed computer circuitry and analogue circuitry for supporting communications. A second silicon substrate comprises a plurality of distributed capacitance units, and is connected to the first substrate via a set of connectors arranged extending depth-wise of the structure. The second substrate has an outer surface on which are arranged a supply voltage connector terminal and a ground connector terminal for connecting the computer structure to a supply voltage for the analogue circuitry and to ground respectively. One or more of the distributed capacitance units of the second silicon substrate is connected between the supply voltage connector and the ground connector terminal via one or more of the set of connectors to provide a decoupling capacitor for the analogue circuitry.Type: ApplicationFiled: October 27, 2022Publication date: September 7, 2023Inventors: Stephen FELIX, Shannon Vance MORTON, Simon KNOWLES, Phillip HORSFIELD
-
Publication number: 20230281144Abstract: 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: ApplicationFiled: April 12, 2022Publication date: September 7, 2023Inventors: Daniel WILKINSON, Stephen FELIX, Simon KNOWLES, Graham CUNNINGHAM, David LACEY
-
Publication number: 20230283547Abstract: 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: ApplicationFiled: January 25, 2023Publication date: September 7, 2023Inventors: Simon Christian KNOWLES, Stephen FELIX, Daniel John Pelham WILKINSON
-
Publication number: 20230281015Abstract: A processing device comprising: a control register configured to store a scaling factor; at least one execution unit configured to execute instructions to perform arithmetic operations on input floating-point numbers provided according to a first floating-point format, wherein each of the input floating-point numbers provided according to the first floating-point format comprises a predetermined number of bits, wherein the at least one execution unit is configured to, in response to execution of an instance of a first of the instructions: perform processing of a first set of the input floating-point numbers to generate a result value, the result value provided in a further format and comprising more the predetermined number of bits, enabling representation of a greater range of values than is representable in the first floating-point format; and apply the scaling factor specified in the control register to increase or decrease an exponent of the result value.Type: ApplicationFiled: February 27, 2023Publication date: September 7, 2023Inventors: Alan ALEXANDER, Simon KNOWLES, Stephen FELIX, Carlo LUSCHI, Badreddine NOUNE, Mrudula GORE, Godfrey DA COSTA, Edward ANDREWS, Dominic MASTERS
-
Publication number: 20230280975Abstract: Logic circuitry for multiplying floating point numbers is disclosed, comprising multiplication and addition logic. The multiplication logic includes first and second mantissa multiplying circuitry. The logic circuitry is configured to: in a first mode, determine a product of two values having a first number format, using sub-units of the first mantissa multiplying circuitry to calculate partial products of the mantissas, and using the addition logic to combine the partial products; in a second mode, determine a respective product of each of four pairs of values having a second number format, using the sub-units of the first mantissa multiplying circuitry to multiply the mantissas of the pairs; and in a third mode, determine products of each of a plurality of pairs of values having a third number format, using the second mantissa multiplying circuitry to generate a product for each pair.Type: ApplicationFiled: December 5, 2022Publication date: September 7, 2023Inventors: Mrudula GORE, Stephen FELIX, Simon Christian KNOWLES
-
Patent number: 11726937Abstract: A method for controlling the sending of data by a plurality of processors belonging to a device, the method comprising: sending a first message to a first processor of the plurality of processors to grant permission to the first processor of the plurality of processors to send a first set of data packets over at least one external interface of the device; receiving from the first processor, an identifier of a second processor of the plurality of processors; and in response to receipt of the identifier of the second processor, send a second message to the second processor to grant permission to the second processor to send a second set of data packets over the at least one external interface.Type: GrantFiled: September 16, 2021Date of Patent: August 15, 2023Assignee: GRAPHCORE LIMITEDInventors: Graham Bernard Cunningham, Stephen Felix
-
Patent number: 11709794Abstract: Two or more die are stacked together in a stacked integrated circuit device. Each of the processors on these die is able to communicate with other processors on its die by sending data over the switching fabric of its respective die. The mechanism for sending data between processors on the same die (i.e. intradie communication) is reused for sending data between processors on different die (i.e. interdie communication). The reuse of the mechanism is enabled by assigning each processor a vertical neighbour on its opposing die. Each processor has an interdie connection that connects it to the output exchange bus of its neighbour. A processor is able to borrow the output exchange bus of its neighbour by sending data along the output exchange bus of its neighbour.Type: GrantFiled: October 19, 2021Date of Patent: July 25, 2023Assignee: GRAPHCORE LIMITEDInventors: Stephen Felix, Richard Luke Southwell Osborne, Alan Graham Alexander
-
Patent number: 11698883Abstract: A method of recording tile identifiers in each of a plurality of tiles of a multitile processor is described. Tiles are arranged in columns, each column having a plurality of processing circuits, each processing circuit comprising one or more tiles, wherein a base processing circuit in each column is connected to a set of processing circuit identifier wires. A base value is generated on each of the set of processing circuit identifier wires for the base processing circuit in each column. At the base processing circuit, the base value on the set of processing circuit identifier wires is read and incremented by one. The incremented value is propagated to a next processing circuit in the column, and at the next processing circuit a unique identifier is recorded by concatenating an identifier of the column and the incremented value.Type: GrantFiled: June 11, 2021Date of Patent: July 11, 2023Assignee: GRAPHCORE LIMITEDInventors: Stephen Felix, Jonathan Mangnall