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: 12273268Abstract: 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: GrantFiled: January 25, 2023Date of Patent: April 8, 2025Assignee: GRAPHCORE LIMITEDInventors: Simon Christian Knowles, Stephen Felix, Daniel John Pelham Wilkinson
-
Patent number: 12140629Abstract: 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: GrantFiled: July 22, 2022Date of Patent: November 12, 2024Assignee: GRAPHCORE LIMITEDInventors: Stephen Felix, Natalie Narkonski, Philip Horsfield
-
Patent number: 12141092Abstract: The invention relates to a computer program comprising a sequence of instructions for execution on a processing unit having instruction storage for holding the computer program, an execution unit for executing the computer program and data storage for holding data, the computer program comprising one or more computer executable instruction which, when executed, implements: a send function which causes a data packet destined for a recipient processing unit to be transmitted on a set of connection wires connected to the processing unit, the data packet having no destination identifier but being transmitted at a predetermined transmit time; and a switch control function which causes the processing unit to control switching circuitry to connect a set of connection wires of the processing unit to a switching fabric to receive a data packet at a predetermined receive time.Type: GrantFiled: April 6, 2022Date of Patent: November 12, 2024Assignee: GRAPHCORE LIMTIEDInventors: Simon Christian Knowles, Daniel John Pelham Wilkinson, Richard Luke Southwell Osborne, Alan Graham Alexander, Stephen Felix, Jonathan Mangnall, David Lacey
-
Patent number: 12032021Abstract: 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: GrantFiled: September 22, 2022Date of Patent: July 9, 2024Assignee: Graphcore LimitedInventors: Stephen Felix, Phillip Horsfield
-
Patent number: 12019527Abstract: 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: GrantFiled: September 10, 2021Date of Patent: June 25, 2024Assignee: Graphcore LimitedInventor: Stephen Felix
-
Patent number: 12001263Abstract: 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: GrantFiled: April 5, 2023Date of Patent: June 4, 2024Assignee: Graphcore LimitedInventors: Stephen Felix, Mrudula Gore
-
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: 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
-
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
-
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: 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: 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: 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: 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: 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