Patents by Inventor Thomas Elmer

Thomas Elmer 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: 12663966
    Abstract: Systems and methods are provided to perform multiply-accumulate operations of at least one normalized number in a systolic array. The systolic array can obtain a first input and detect that the first input is denormal. Based on determining the first input is denormal, the systolic array can generate a first normalized number by normalizing the first input. Processing elements of the systolic array can include a multiplier and an adder. The multiplier can multiply the first normalized number by a second normal or normalized number to generate a multiplier product and the adder can add an input partial sum to the multiplier product to generate an addition result.
    Type: Grant
    Filed: July 9, 2024
    Date of Patent: June 23, 2026
    Assignee: Amazon Technologies, Inc.
    Inventor: Thomas Elmer
  • Patent number: 12650810
    Abstract: A data processing apparatus is provided, which includes addition circuitry that performs a calculation of a sum of a first operand and a second operand. The addition circuitry produces an intermediate data prior to the calculation completing. Determination circuitry uses the intermediate data to produce the sum of the first operand and the second operand plus 1. Further determination circuitry configured to use the intermediate data to produce the sum of the first operand and the second operand plus 2.
    Type: Grant
    Filed: February 24, 2022
    Date of Patent: June 9, 2026
    Assignee: Arm Limited
    Inventors: Javier Diaz Bruguera, David Raymond Lutz, Thomas Elmer, Nicholas Andrew Pfister
  • Publication number: 20260023529
    Abstract: Systems and methods are provided to perform multiply-accumulate operations of reduced precision numbers in a systolic array. Each row of the systolic array can receive reduced inputs from a respective reducer. The reducer can receive a particular input and generate multiple reduced inputs from the input. The reduced inputs can include reduced input data elements and/or a reduced weights. The systolic array may lack support for inputs with a first bit-length and the reducers may reduce the bit-length of a given input from the first bit-length to a second shorter bit-length and provide multiple reduced inputs with second shorter bit-length to the array. The systolic array may perform multiply-accumulate operations on each unique combination of the multiple reduced input data elements and the reduced weights to generate multiple partial outputs. The systolic array may sum the partial outputs to generate the output.
    Type: Application
    Filed: August 5, 2025
    Publication date: January 22, 2026
    Inventors: Paul Gilbert Meyer, Thomas A. Volpe, Ron Diamant, Joshua Wayne Bowman, Nishith Desai, Thomas Elmer
  • Patent number: 12517700
    Abstract: Systems and methods are provided to round the numbers produced by a systolic array. A rounder can obtain a number from the systolic array and identify a data type conversion associated with the number. The data type conversion may indicate a first bit-length and a second bit-length of the number. The rounder can select a random number generator for rounding the number based on the data type conversion. The bit-length of the random number generator may be equal to a difference in bit-length between the first bit-length and the second bit-length. The rounder can perform a rounding operation using a random number generated by the random number generator.
    Type: Grant
    Filed: March 30, 2022
    Date of Patent: January 6, 2026
    Assignee: Amazon Technologies, Inc.
    Inventors: Nishith Desai, Thomas A. Volpe, Thomas Elmer
  • Patent number: 12423097
    Abstract: Apparatuses, methods, computer readable media, and systems are disclosed in which a floating point processing instruction is decoded to generate control signals to trigger a floating point processing operation. In response to the control signals, the floating point processing operation is performed, comprising: performing processing that yields more than two floating point values; and performing, for each of the more than two floating point values: a determination of a shift value for a significand of that floating point value by subtracting an exponent value for that floating point value from a predetermined constant anchor value determined based on a maximum calculable product exponent for a product of the more than two floating point operands, and a shift of the significand by the shift value determined for that floating point value.
    Type: Grant
    Filed: January 31, 2024
    Date of Patent: September 23, 2025
    Assignee: Arm Limited
    Inventors: Anisha Saini, Mairin Imro Kroes, Thomas Elmer, Neil Burgess
  • Patent number: 12423058
    Abstract: Systems and methods are provided to perform multiply-accumulate operations of reduced precision numbers in a systolic array. Each row of the systolic array can receive reduced inputs from a respective reducer. The reducer can receive a particular input and generate multiple reduced inputs from the input. The reduced inputs can include reduced input data elements and/or a reduced weights. The systolic array may lack support for inputs with a first bit-length and the reducers may reduce the bit-length of a given input from the first bit-length to a second shorter bit-length and provide multiple reduced inputs with second shorter bit-length to the array. The systolic array may perform multiply-accumulate operations on each unique combination of the multiple reduced input data elements and the reduced weights to generate multiple partial outputs. The systolic array may sum the partial outputs to generate the output.
    Type: Grant
    Filed: June 30, 2021
    Date of Patent: September 23, 2025
    Assignee: Amazon Technologies, Inc.
    Inventors: Paul Gilbert Meyer, Thomas A Volpe, Ron Diamant, Joshua Wayne Bowman, Nishith Desai, Thomas Elmer
  • Publication number: 20250272464
    Abstract: A plurality of logic gates are used in an addition of a first vector of bits to a second vector of bits, the plurality of logic gates receive four inputs: a generate signal indicating whether the addition at a first bit position would unconditionally produce a carry-out signal at the first bit position; a propagate signal indicating whether the addition at a second bit position would conditionally produce a carry-out signal at the second bit position; an at least partial generate star signal indicating whether at least one of the following conditions is met: the addition at any of least significant bit positions of the first vector and the second vector would conditionally produce a carry-out signal at a more significant bit position of the first vector and the second vector, or the addition at the more significant bit position of the first vector and the second vector would unconditionally produce a carry-out signal; and an at least partial propagate star signal indicating whether the addition at each of lea
    Type: Application
    Filed: February 28, 2024
    Publication date: August 28, 2025
    Inventor: Thomas ELMER
  • Publication number: 20250274127
    Abstract: A plurality of logic gates are used in an addition of a first vector of bits to a second vector of bits, the plurality of logic gates receive four inputs: a generate signal indicating whether the addition at a first bit position would unconditionally produce a carry-out signal at the first bit position; a propagate signal indicating whether the addition at a second bit position would conditionally produce a carry-out signal at the second bit position; an at least partial generate star signal indicating whether at least one of the following conditions is met: the addition at any of least significant bit positions of the first vector and the second vector would conditionally produce a carry-out signal at a most significant bit position of the first vector and the second vector, or the addition at the most significant bit position of the first vector and the second vector would unconditionally produce a carry-out signal; and an at least partial propagate star signal indicating whether the addition at each of lea
    Type: Application
    Filed: February 28, 2024
    Publication date: August 28, 2025
    Inventor: Thomas ELMER
  • Publication number: 20250245004
    Abstract: Apparatuses, methods, computer readable media, and systems are disclosed in which a floating point processing instruction is decoded to generate control signals to trigger a floating point processing operation. In response to the control signals, the floating point processing operation is performed, comprising: performing processing that yields more than two floating point values; and performing, for each of the more than two floating point values: a determination of a shift value for a significand of that floating point value by subtracting an exponent value for that floating point value from a predetermined constant anchor value determined based on a maximum calculable product exponent for a product of the more than two floating point operands, and a shift of the significand by the shift value determined for that floating point value.
    Type: Application
    Filed: January 31, 2024
    Publication date: July 31, 2025
    Inventors: Anisha SAINI, Mairin Imro KROES, Thomas ELMER, Neil BURGESS
  • Publication number: 20250244951
    Abstract: There is provided an apparatus, a system, a chip containing product, a method and a medium, the apparatus comprises decoder circuitry responsive to a floating point accumulate instruction identifying pairs of floating point operands and an accumulation source, and processing circuitry comprising a plurality of arithmetic combination units to perform an arithmetic operation to combine the pairs of operands, and summation circuitry to perform an arithmetically precise summation operation to calculate an intermediate result by summing results generated by the arithmetic combination units. The intermediate result is independent of an order in which the arithmetic results are summed.
    Type: Application
    Filed: January 31, 2024
    Publication date: July 31, 2025
    Inventors: Mairin Imro KROES, Anisha SAINI, Thomas ELMER, Neil BURGESS
  • Patent number: 12182691
    Abstract: To improve performance of a computational array, the architecture of the array can be modified to allow the processing engines of a column to operate in parallel and the clock frequency of the array to be increased. The processing engines of each column of the array can be grouped into a series of row groups. The processing engines of each row group can be loaded with input values, and computations on the input values can be carried out in parallel to generate the column output. One or more flip-flop stages can be inserted into the computational logic of each of the processing engines. The computational logic can then be distributed across the flip-flop stages to reduce the propagation delay between flip-flop stages of the processing engine, hence allowing the clock frequency of the array to be increased.
    Type: Grant
    Filed: March 17, 2021
    Date of Patent: December 31, 2024
    Assignee: Amazon Technologies, Inc.
    Inventors: Sundeep Amirineni, Akshay Balasubramanian, Joshua Wayne Bowman, Ron Diamant, Paul Gilbert Meyer, Thomas Elmer
  • Patent number: 12182064
    Abstract: Systems and methods are provided to enable parallelized multiply-accumulate operations in a systolic array. Each column of the systolic array can include multiple busses enabling independent transmission of input partial sums along the respective bus. Each processing element of a given columnar bus can receive an input partial sum from a prior element of the given columnar bus, and perform arithmetic operations on the input partial sum. Each processing element can generate an output partial sum based on the arithmetic operations, provide the output partial sum to a next processing element of the given columnar bus, without the output partial sum being processed by a processing element of the column located between the two processing elements that uses a different columnar bus. Use of columnar busses can enable parallelization to increase speed or enable increased latency at individual processing elements.
    Type: Grant
    Filed: August 8, 2023
    Date of Patent: December 31, 2024
    Assignee: Amazon Technologies, Inc.
    Inventors: Thomas A Volpe, Sundeep Amirineni, Thomas Elmer
  • Publication number: 20240361986
    Abstract: Systems and methods are provided to perform multiply-accumulate operations of at least one normalized number in a systolic array. The systolic array can obtain a first input and detect that the first input is denormal. Based on determining the first input is denormal, the systolic array can generate a first normalized number by normalizing the first input. Processing elements of the systolic array can include a multiplier and an adder. The multiplier can multiply the first normalized number by a second normal or normalized number to generate a multiplier product and the adder can add an input partial sum to the multiplier product to generate an addition result.
    Type: Application
    Filed: July 9, 2024
    Publication date: October 31, 2024
    Inventor: Thomas Elmer
  • Patent number: 12067375
    Abstract: Systems and methods are provided to perform multiply-accumulate operations of at least one normalized number in a systolic array. The systolic array can obtain a first input and detect that the first input is denormal. Based on determining the first input is denormal, the systolic array can generate a first normalized number by normalizing the first input. Processing elements of the systolic array can include a multiplier and an adder. The multiplier can multiply the first normalized number by a second normal or normalized number to generate a multiplier product and the adder can add an input partial sum to the multiplier product to generate an addition result.
    Type: Grant
    Filed: September 15, 2022
    Date of Patent: August 20, 2024
    Assignee: Amazon Technologies, Inc.
    Inventor: Thomas Elmer
  • Patent number: 11880682
    Abstract: Systems and methods are provided to perform multiply-accumulate operations of reduced precision numbers in a systolic array. Each row of the systolic array can receive reduced inputs from a respective reducer. The reduced input can include a reduced input data element and/or a reduced weight. The systolic array may lack support for inputs with a first bit-length and the reducers may reduce the bit-length of a given input from the first bit-length to a second shorter bit-length and provide the reduced input to the array. In order to reduce the bit-length, the reducer may reduce the number of trailing bits of the input. Further, the systolic array can receive a reduced and rounded input. The systolic array can propagate the reduced input through the processing elements in the systolic array. Each processing element may include a multiplier and/or an adder to perform arithmetical operations based on the reduced input.
    Type: Grant
    Filed: June 30, 2021
    Date of Patent: January 23, 2024
    Assignee: Amazon Technologies, Inc.
    Inventors: Paul Gilbert Meyer, Thomas A Volpe, Ron Diamant, Joshua Wayne Bowman, Nishith Desai, Thomas Elmer
  • Patent number: 11842169
    Abstract: Systems and methods are provided to perform multiplication-delayed-addition operations in a systolic array to increase clock speeds, reduce circuit area, and/or reduce dynamic power consumption. Each processing element in the systolic array can have a pipeline configured to perform a multiplication during a first systolic interval and to perform an accumulation during a second systolic interval. The multiplication result from the first systolic interval can be stored in a delay register for use by the accumulator during the second systolic interval. A skip detection circuit can be used to skip one or more of the multiplication, storing in the delay register, and the addition during skip conditions for improved energy efficiency.
    Type: Grant
    Filed: September 25, 2019
    Date of Patent: December 12, 2023
    Assignee: Amazon Technologies, Inc.
    Inventor: Thomas Elmer
  • Publication number: 20230385233
    Abstract: Systems and methods are provided to enable parallelized multiply-accumulate operations in a systolic array. Each column of the systolic array can include multiple busses enabling independent transmission of input partial sums along the respective bus. Each processing element of a given columnar bus can receive an input partial sum from a prior element of the given columnar bus, and perform arithmetic operations on the input partial sum. Each processing element can generate an output partial sum based on the arithmetic operations, provide the output partial sum to a next processing element of the given columnar bus, without the output partial sum being processed by a processing element of the column located between the two processing elements that uses a different columnar bus. Use of columnar busses can enable parallelization to increase speed or enable increased latency at individual processing elements.
    Type: Application
    Filed: August 8, 2023
    Publication date: November 30, 2023
    Inventors: Thomas A. Volpe, Sundeep Amirineni, Thomas Elmer
  • Patent number: 11816446
    Abstract: Systems and methods are provided to perform multiply-accumulate operations of multiple data types in a systolic array. One or more processing elements in the systolic array can include a shared multiplier and one or more adders. The shared multiplier can include a separate and/or a shared circuitry where the shared circuitry can perform at least a part of integer multiplication and at least a part of non-integer multiplication. The one or more adders can include one or more shared adders or one or more separate adders. The shared adder can include a separate and/or a shared circuitry where the shared circuitry can perform at least a part of integer addition and at least a part of non-integer addition.
    Type: Grant
    Filed: November 27, 2019
    Date of Patent: November 14, 2023
    Assignee: Amazon Technologies, Inc.
    Inventors: Thomas Elmer, Thomas A. Volpe
  • Patent number: 11762803
    Abstract: Systems and methods are provided to enable parallelized multiply-accumulate operations in a systolic array. Each column of the systolic array can include multiple busses enabling independent transmission of input partial sums along the respective bus. Each processing element of a given columnar bus can receive an input partial sum from a prior element of the given columnar bus, and perform arithmetic operations on the input partial sum. Each processing element can generate an output partial sum based on the arithmetic operations, provide the output partial sum to a next processing element of the given columnar bus, without the output partial sum being processed by a processing element of the column located between the two processing elements that uses a different columnar bus. Use of columnar busses can enable parallelization to increase speed or enable increased latency at individual processing elements.
    Type: Grant
    Filed: April 18, 2022
    Date of Patent: September 19, 2023
    Assignee: Amazon Technologies, Inc.
    Inventors: Thomas A Volpe, Sundeep Amirineni, Thomas Elmer
  • Publication number: 20230266942
    Abstract: A data processing apparatus is provided, which includes addition circuitry that performs a calculation of a sum of a first operand and a second operand. The addition circuitry produces an intermediate data prior to the calculation completing. Determination circuitry uses the intermediate data to produce the sum of the first operand and the second operand plus 1. Further determination circuitry configured to use the intermediate data to produce the sum of the first operand and the second operand plus 2.
    Type: Application
    Filed: February 24, 2022
    Publication date: August 24, 2023
    Inventors: Javier Diaz BRUGUERA, David Raymond LUTZ, Thomas ELMER, Nicholas Andrew PFISTER