Patents Examined by Andrew Caldwell
  • Patent number: 10984074
    Abstract: Disclosed embodiments relate to an accelerator for sparse-dense matrix instructions. In one example, a processor to execute a sparse-dense matrix multiplication instruction, includes fetch circuitry to fetch the sparse-dense matrix multiplication instruction having fields to specify an opcode, a dense output matrix, a dense source matrix, and a sparse source matrix having a sparsity of non-zero elements, the sparsity being less than one, decode circuitry to decode the fetched sparse-dense matrix multiplication instruction, execution circuitry to execute the decoded sparse-dense matrix multiplication instruction to, for each non-zero element at row M and column K of the specified sparse source matrix generate a product of the non-zero element and each corresponding dense element at row K and column N of the specified dense source matrix, and generate an accumulated sum of each generated product and a previous value of a corresponding output element at row M and column N of the specified dense output matrix.
    Type: Grant
    Filed: February 24, 2020
    Date of Patent: April 20, 2021
    Assignee: Intel Corporation
    Inventors: Srinivasan Narayanamoorthy, Nadathur Rajagopalan Satish, Alexey Suprun, Kenneth J. Janik
  • Patent number: 10983756
    Abstract: In an aspect, a processor includes circuitry for iterative refinement approaches, e.g., Newton-Raphson, to evaluating functions, such as square root, reciprocal, and for division. The circuitry includes circuitry for producing an initial approximation; which can include a LookUp Table (LUT). LUT may produce an output that (with implementation-dependent processing) forms an initial approximation of a value, with a number of bits of precision. A limited-precision multiplier multiplies that initial approximation with another value; an output of the limited precision multiplier goes to a full precision multiplier circuit that performs remaining multiplications required for iteration(s) in the particular refinement process being implemented. For example, in division, the output being calculated is for a reciprocal of the divisor.
    Type: Grant
    Filed: October 17, 2014
    Date of Patent: April 20, 2021
    Assignee: Imagination Technologies Limited
    Inventor: Leonard Rarick
  • Patent number: 10977339
    Abstract: Systems and methods of configuring a fixed memory array of an integrated circuit with coefficients of one or more applications includes identifying a utilization constraint type of the fixed memory array from a plurality of distinct utilization constraint types based on computing attributes of the one or more applications; identifying at least one coefficient mapping technique from a plurality of distinct coefficient mapping techniques that addresses the utilization constraint type; configuring the fixed memory array according to the at least one coefficient mapping technique, wherein configuring the array includes at least setting within the array the coefficients of the one or more applications in an arrangement prescribed by the at least one coefficient mapping technique that optimizes a computational utilization of the fixed memory array.
    Type: Grant
    Filed: November 14, 2019
    Date of Patent: April 13, 2021
    Assignee: Mythic, Inc.
    Inventors: David Fick, Michael Henry, Laura Fick, Malav Parikh, Skylar Skrzyniarz, Scott Johnson, Pei-Ci Wu, Andrew Morten
  • Patent number: 10970201
    Abstract: A system, apparatus and method for utilizing a transpose function to generate a two-dimensional array from three-dimensional input data. The use of the transpose function reduces redundant elements in the resultant two-dimensional array thereby increasing efficiency and decreasing power consumption.
    Type: Grant
    Filed: October 24, 2018
    Date of Patent: April 6, 2021
    Assignee: Arm Limited
    Inventor: Paul Nicholas Whatmough
  • Patent number: 10963220
    Abstract: An N×N multiplier may include a N/2×N first multiplier, a N/2×N/2 second multiplier, and a N/2×N/2 third multiplier. The N×N multiplier receives two operands to multiply. The first, second and/or third multipliers are selectively disabled if an operand equals zero or has a small value. If the operands are both less than 2N/2, the second or the third multiplier are used to multiply the operands. If one operand is less than 2N/2 and the other operand is equal to or greater than 2N/2, the first multiplier is used or the second and third multipliers are used to multiply the operands. If both operands are equal to or greater than 2N/2, the first, second and third multipliers are used to multiply the operands.
    Type: Grant
    Filed: February 14, 2019
    Date of Patent: March 30, 2021
    Inventors: Ilia Ovsiannikov, Ali Shafiee Ardestani, Joseph Hassoun, Lei Wang
  • Patent number: 10956536
    Abstract: A processing device is provided which comprises memory configured to store data and a plurality of processor cores in communication with each other via first and second hierarchical communication links. Processor cores of a first hierarchical processor core group are in communication with each other via the first hierarchical communication links and are configured to store, in the memory, a sub-portion of data of a first matrix and a sub-portion of data of a second matrix. The processor cores are also configured to determine a product of the sub-portion of data of the first matrix and the sub-portion of data of the second matrix, receive, from another processor core, another sub-portion of data of the second matrix and determine a product of the sub-portion of data of the first matrix and the other sub-portion of data of the second matrix.
    Type: Grant
    Filed: October 31, 2018
    Date of Patent: March 23, 2021
    Assignee: Advanced Micro Devices, Inc.
    Inventors: Shaizeen Aga, Nuwan Jayasena, Allen H. Rush, Michael Ignatowski
  • Patent number: 10949494
    Abstract: A correlithm object processing system uses one or more mobile correlithm object devices to emulate the functionality of one or more of sensors, nodes, and actors. The mobile correlithm object devices may be deployed to different parts of a system or network to perform particular tasks. The mobile correlithm object devices may periodically communicate with one another or with other elements of the correlithm object processing system.
    Type: Grant
    Filed: March 11, 2019
    Date of Patent: March 16, 2021
    Assignee: Bank of America Corporation
    Inventor: Patrick N. Lawrence
  • Patent number: 10949495
    Abstract: A device configured to emulate a correlithm object system includes a memory that stores a node table. The node table identifies a plurality of source correlithm objects and a corresponding plurality of target correlithm objects. A node receives a first input correlithm object associated with a first timestamp, computes distances between the first input correlithm object and each of the source correlithm objects in the node table, and identifies a first source correlithm object from the node table with the shortest distance. The node identifies a first target correlithm object from the node table linked with the identified first source correlithm object, and outputs the first target correlithm object. The memory stores a node output table that identifies the first target correlithm object associated with the first source correlithm object, the first timestamp, and the computed distance between the first input correlithm object and the first source correlithm object.
    Type: Grant
    Filed: March 11, 2019
    Date of Patent: March 16, 2021
    Assignee: Bank of America Corporation
    Inventor: Patrick N. Lawrence
  • Patent number: 10949498
    Abstract: Disclosed approaches for circuitry that implements a softmax function include difference calculation circuitry configured to calculate differences between combinations of elements, zk?zj, of a vector. First lookup circuitry is configured to lookup and output representations of exponential values, ezk?zj associated with the differences in response to input of the differences. Each adder circuit of N adder circuits sums a subset of the exponential values output from the first lookup circuitry and a value of 1. The sum output by each adder circuit denotes a denominator of a plurality of denominators of the softmax function. Second lookup circuitry is configured with quotients and looks-up and outputs quotients associated with the plurality of denominators as results of the softmax function.
    Type: Grant
    Filed: March 13, 2019
    Date of Patent: March 16, 2021
    Assignee: XLNX, INC.
    Inventors: Vijay Kumar Reddy Enumula, Sundeep Ram Gopal Agarwal
  • Patent number: 10936937
    Abstract: A convolution operation device includes a convolution calculation module, a memory and a buffer device. The convolution calculation module has a plurality of convolution units, and each convolution unit performs a convolution operation according to a filter and a plurality of current data, and leaves a part of the current data after the convolution operation. The buffer device is coupled to the memory and the convolution calculation module for retrieving a plurality of new data from the memory and inputting the new data to each of the convolution units. The new data are not a duplicate of the current data. A convolution operation method is also disclosed.
    Type: Grant
    Filed: November 2, 2017
    Date of Patent: March 2, 2021
    Assignee: KNERON, INC.
    Inventors: Li Du, Yuan Du, Chun-Chen Liu
  • Patent number: 10938409
    Abstract: Techniques for compressing binary input data streams and files by reducing entropy of the input data prior to compression. Entropy reduction is achieved by first getting a stream of single-digit decimal pseudo random numbers and calculating the frequency of occurrence of each decimal number in the even and odd positions of the pseudo random number stream. Subsets of the frequencies of occurrence of the decimal digits are selected to best match the frequency of occurrence of “0” and “1” in the odd and even positions of the binary input data stream. The decimal digits of the subsets of frequencies of occurrence are selectively set to “0” or “1” thereby creating a binary pseudo random number (i.e. mapping) stream, which is XORed with the binary input stream and compressed. Decompression uses the same pseudo random number stream using the mapping stream and the seed number used during compression.
    Type: Grant
    Filed: September 5, 2020
    Date of Patent: March 2, 2021
    Inventor: Panagiotis Andreadakis
  • Patent number: 10922052
    Abstract: A method and apparatus is provided for generating pseudorandom numbers in a way that is deterministic (i.e., repeatable), that passes statistical tests, can have multiple instances of objects generating pseudorandom numbers at the same time. Also, the collection of pseudorandom numbers generated by multiple instances have the same statistical properties as numbers generated by a single instance (i.e., randomness). Embodiments described herein generate pseudorandom values by using a plurality of subsidiary linear congruential generators and combining their outputs nonlinearly. According to embodiments, after their outputs have been combined, a mixing function is applied. Embodiments include an on-demand split method in the style of the SplitMix algorithm.
    Type: Grant
    Filed: October 12, 2015
    Date of Patent: February 16, 2021
    Assignee: Oracle International Corporation
    Inventor: Guy L. Steele, Jr.
  • Patent number: 10922379
    Abstract: A method for processing electronic data includes the steps of transforming the electronic data to a matrix representation including a plurality of matrices; decomposing the matrix representation into a series of matrix approximations; and processing, with an approximation process, the plurality of matrices thereby obtaining a low-rank approximation of the plurality of matrices.
    Type: Grant
    Filed: September 10, 2018
    Date of Patent: February 16, 2021
    Assignee: City University of Hong Kong
    Inventors: Hing Cheung So, Wen-Jun Zeng, Jiayi Chen, Abdelhak M. Zoubir
  • Patent number: 10915297
    Abstract: Computational apparatus includes a systolic array of processing elements. In each of a sequence of processing cycles, the processing elements in a first row of the array each receive a respective first plurality of first operands, while the processing elements in a first column of the array each receive a respective second plurality of second operands. Each processing element, except in the first row and first column, receives the respective first and second pluralities of the operands from adjacent processing elements in a preceding row and column of the array. Each processing element multiplies pairs of the first and second operands together to generate multiple respective products, and accumulates the products in accumulators. Synchronization logic loads a succession of first and second vectors of the operands into the array, and upon completion of processing triggers the processing elements to transfer respective data values from the accumulators out of the array.
    Type: Grant
    Filed: November 12, 2018
    Date of Patent: February 9, 2021
    Assignee: HABANA LABS LTD.
    Inventors: Ran Halutz, Tomer Rothschild, Ron Shalev
  • Patent number: 10908879
    Abstract: A fast vector multiplication and accumulation circuit is applied to an artificial neural network accelerator and configured to calculate an inner product of a multiplier vector and a multiplicand vector. A scheduler is configured to arrange a plurality of multiplicands of the multiplicand vector into a plurality of scheduled operands according to a plurality of multipliers of the multiplier vector, respectively. A self-accumulating adder is signally connected to the scheduler and includes a compressor, at least two delay elements and at least one shifter. The compressor is configured to add the scheduled operands to generate a plurality of compressed operands. The at least two delay elements are connected to the compressor. The shifter is configured to shift one of the compressed operands. An adder is signally connected to the output ports of the compressor so as to add the compressed operands to generate the inner product.
    Type: Grant
    Filed: November 13, 2018
    Date of Patent: February 2, 2021
    Assignee: NEUCHIPS CORPORATION
    Inventors: Youn-Long Lin, Tao-Yi Lee
  • Patent number: 10901695
    Abstract: Disclosed herein is a true random number generator (TRNG). The TRNG includes an enclosure defining a cavity and a cap covering the cavity and having a cap surface exposed to the cavity, the cap surface including radioactive nickel. An electronic sensor within a cavity detects electrons from the decay of the nickel and produces a signal for the detected energy. An amplifier is connected to the sensor and is constructed to amplify the signal and then feeds the signal to a filter. A processor connected to the filter generates a true random number based on the signal. This TRNG may be formed on an integrated circuit.
    Type: Grant
    Filed: August 11, 2020
    Date of Patent: January 26, 2021
    Assignee: RANDAEMON SP. Z O.O.
    Inventors: Jan Jakub Tatarkiewicz, Janusz Jerzy Borodzinski, Wieslaw Bohdan Kuzmicz
  • Patent number: 10902318
    Abstract: A system and method for convolutional layer in convolutional neural networks is provided. The convolution is performed via a transformation that includes relocating input, relocating convolution filters and performing an aggregate matrix multiply.
    Type: Grant
    Filed: November 6, 2018
    Date of Patent: January 26, 2021
    Assignee: NEURALMAGIC INC.
    Inventors: Alexander Matveev, Nir Shavit
  • Patent number: 10891353
    Abstract: Aspects for matrix multiplication in neural network are described herein. The aspects may include a controller unit configured to receive a matrix-addition instruction. The aspects may further include a computation module configured to receive a first matrix and a second matrix. The first matrix may include one or more first elements and the second matrix includes one or more second elements. The one or more first elements and the one or more second elements may be arranged in accordance with a two-dimensional data structure. The computation module may be further configured to respectively add each of the first elements to each of the second elements based on a correspondence in the two-dimensional data structure to generate one or more third elements for a third matrix.
    Type: Grant
    Filed: January 17, 2019
    Date of Patent: January 12, 2021
    Assignee: CAMBRICON TECHNOLOGIES CORPORATION LIMITED
    Inventors: Xiao Zhang, Shaoli Liu, Tianshi Chen, Yunji Chen
  • Patent number: 10886942
    Abstract: A binary logic circuit converts a number in floating point format having an exponent E, an exponent bias B=2ew-1?1, and a significand comprising a mantissa M of mw bits into a fixed point format with an integer width of iw bits and a fractional width of fw bits.
    Type: Grant
    Filed: July 16, 2020
    Date of Patent: January 5, 2021
    Assignee: Imagination Technologies Limited
    Inventor: Kenneth Rovers
  • Patent number: 10884702
    Abstract: A binary logic circuit converts a number in floating point format having an exponent E of ew bits, an exponent bias B given by B=2ew-1?1, and a significand comprising a mantissa M of mw bits into a fixed point format with an integer width of iw bits and a fractional width of fw bits. The circuit includes a shifter operable to receive a significand input comprising a contiguous set of the most significant bits of the significand and configured to left-shift the significand input by a number of bits equal to the value represented by k least significant bits of the exponent to generate a shifter output, wherein min {(ew?1), bitwidth(iw?2?sy)}?k?(ew?1) where sy=1 for a signed floating point number and sy=0 for an unsigned floating point number, and a multiplexer coupled to the shifter and configured to: receive an input comprising a contiguous set of bits of the shifter output; and output the input if the most significant bit of the exponent is equal to one.
    Type: Grant
    Filed: May 18, 2020
    Date of Patent: January 5, 2021
    Assignee: Imagination Technologies Limited
    Inventor: Kenneth Rovers