Patents by Inventor Jeremiah Willcock

Jeremiah Willcock 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: 12014269
    Abstract: A system and method for iteratively updating a parameter according to a gradient descent algorithm. In a given nth iteration of the method, one or more processors may determine a gradient value of a gradient vector of the parameter in a first dimension, determine a product value based at least in part on a sum of (i) the product value determined in an n?1th iteration and (ii) a product of the determined gradient value and a learning rate of the gradient descent algorithm, determine an updated parameter value according to a function including the product value, and update the parameter to equal the updated parameter value.
    Type: Grant
    Filed: October 13, 2020
    Date of Patent: June 18, 2024
    Assignee: Google LLC
    Inventor: Jeremiah Willcock
  • Patent number: 11451889
    Abstract: Methods, systems, and apparatus, including an apparatus for generating clusters of building blocks of compute nodes using an optical network. In one aspect, a method includes receiving data specifying requested compute nodes for a computing workload. The data specifies a target arrangement of the nodes. A subset of building blocks of a superpod is selected. A logical arrangement of the subset of compute nodes that matches the target arrangement is determined. A workload cluster of compute nodes that includes the subset of the building blocks is generated. For each dimension of the workload cluster, respective routing data for two or more OCS switches for the dimension is configured. One-to-many switches are configured such that a second compute node of each segment of compute nodes is connected to a same OCS switch as a corresponding first compute node of a corresponding segment to which the second compute node is connected.
    Type: Grant
    Filed: August 17, 2021
    Date of Patent: September 20, 2022
    Assignee: Google LLC
    Inventor: Jeremiah Willcock
  • Publication number: 20220171605
    Abstract: This specification describes systolic arrays of hardware processing units. In one aspect, a matrix computation unit includes multiple cells arranged in a systolic array. Each cell includes multiplication circuitry configured to determine a product of elements or submatrices of input matrices, summation circuitry configured to determine a sum of an input accumulated value and the product output by the multiplication circuitry, multiple accumulators connected to an output of the summation circuitry, and a controller circuit configured to select, from the accumulators, a given accumulator to receive the sum output by the summation circuitry.
    Type: Application
    Filed: November 30, 2021
    Publication date: June 2, 2022
    Inventor: Jeremiah Willcock
  • Publication number: 20220156344
    Abstract: This specification relates to systolic arrays of hardware processing units. In one aspect, a matrix multiplication unit includes multiple cells arranged in a systolic array. Each cell includes multiplication circuitry configured to determine a product of elements of input matrices. Each cell includes an accumulator configured to determine an accumulated value by accumulating a sum of the products output by the multiplication circuitry. Each cell also includes a post-processing component configured to determine a post-processed value by performing one or more post-processing operations on the accumulated value.
    Type: Application
    Filed: November 18, 2021
    Publication date: May 19, 2022
    Inventor: Jeremiah Willcock
  • Publication number: 20220083854
    Abstract: A system and method for iteratively updating a parameter according to a gradient descent algorithm. In a given nth iteration of the method, one or more processors may determine a gradient value of a gradient vector of the parameter in a first dimension, determine a product value based at least in part on a sum of (i) the product value determined in an n?1th iteration and (ii) a product of the determined gradient value and a learning rate of the gradient descent algorithm, determine an updated parameter value according to a function including the product value, and update the parameter to equal the updated parameter value.
    Type: Application
    Filed: October 13, 2020
    Publication date: March 17, 2022
    Applicant: Google LLC
    Inventor: Jeremiah Willcock
  • Publication number: 20210377635
    Abstract: Methods, systems, and apparatus, including an apparatus for generating clusters of building blocks of compute nodes using an optical network. In one aspect, a method includes receiving data specifying requested compute nodes for a computing workload. The data specifies a target arrangement of the nodes. A subset of building blocks of a superpod is selected. A logical arrangement of the subset of compute nodes that matches the target arrangement is determined. A workload cluster of compute nodes that includes the subset of the building blocks is generated. For each dimension of the workload cluster, respective routing data for two or more OCS switches for the dimension is configured. One-to-many switches are configured such that a second compute node of each segment of compute nodes is connected to a same OCS switch as a corresponding first compute node of a corresponding segment to which the second compute node is connected.
    Type: Application
    Filed: August 17, 2021
    Publication date: December 2, 2021
    Inventor: Jeremiah Willcock
  • Patent number: 11122347
    Abstract: Methods, systems, and apparatus, including an apparatus for generating clusters of building blocks of compute nodes using an optical network. In one aspect, a method includes receiving data specifying requested compute nodes for a computing workload. The data specifies a target arrangement of the nodes. A subset of building blocks of a superpod is selected. A logical arrangement of the subset of compute nodes that matches the target arrangement is determined. A workload cluster of compute nodes that includes the subset of the building blocks is generated. For each dimension of the workload cluster, respective routing data for two or more OCS switches for the dimension is configured. One-to-many switches are configured such that a second compute node of each segment of compute nodes is connected to a same OCS switch as a corresponding first compute node of a corresponding segment to which the second compute node is connected.
    Type: Grant
    Filed: July 1, 2019
    Date of Patent: September 14, 2021
    Assignee: Google LLC
    Inventor: Jeremiah Willcock
  • Publication number: 20210019570
    Abstract: Methods, systems, and apparatus, including computer programs encoded on computer storage media, for using dynamic minibatch sizes during neural network training. One of the methods includes receiving, by each of a plurality of host computer, a respective batch of training examples, each training example having zero or more features, computing, by each host computer, a minimum number of minibatches into which the host computer can divide the respective batch of training examples so that the host computer can process each minibatch using an embedding layer of the neural network without exceeding available computing resources, determining a largest minimum number of minibatches (N) into which any host computer can divide its respective batch of training examples, generating, by each host computer, N minibatches from the respective batch of training examples received by the host computer, and processing, by each host computer, the N minibatches using the embedding layer.
    Type: Application
    Filed: September 28, 2020
    Publication date: January 21, 2021
    Inventors: Jeremiah Willcock, George Kurian
  • Publication number: 20210006873
    Abstract: Methods, systems, and apparatus, including an apparatus for generating clusters of building blocks of compute nodes using an optical network. In one aspect, a method includes receiving data specifying requested compute nodes for a computing workload. The data specifies a target arrangement of the nodes. A subset of building blocks of a superpod is selected. A logical arrangement of the subset of compute nodes that matches the target arrangement is determined. A workload cluster of compute nodes that includes the subset of the building blocks is generated. For each dimension of the workload cluster, respective routing data for two or more OCS switches for the dimension is configured. One-to-many switches are configured such that a second compute node of each segment of compute nodes is connected to a same OCS switch as a corresponding first compute node of a corresponding segment to which the second compute node is connected.
    Type: Application
    Filed: July 1, 2019
    Publication date: January 7, 2021
    Inventor: Jeremiah Willcock
  • Patent number: 10789510
    Abstract: Methods, systems, and apparatus, including computer programs encoded on computer storage media, for using dynamic minibatch sizes during neural network training. One of the methods includes receiving, by each of a plurality of host computer, a respective batch of training examples, each training example having zero or more features, computing, by each host computer, a minimum number of minibatches into which the host computer can divide the respective batch of training examples so that the host computer can process each minibatch using an embedding layer of the neural network without exceeding available computing resources, determining a largest minimum number of minibatches (N) into which any host computer can divide its respective batch of training examples, generating, by each host computer, N minibatches from the respective batch of training examples received by the host computer, and processing, by each host computer, the N minibatches using the embedding layer.
    Type: Grant
    Filed: January 11, 2019
    Date of Patent: September 29, 2020
    Assignee: Google LLC
    Inventors: Jeremiah Willcock, George Kurian
  • Publication number: 20200226424
    Abstract: Methods, systems, and apparatus, including computer programs encoded on computer storage media, for using dynamic minibatch sizes during neural network training. One of the methods includes receiving, by each of a plurality of host computer, a respective batch of training examples, each training example having zero or more features, computing, by each host computer, a minimum number of minibatches into which the host computer can divide the respective batch of training examples so that the host computer can process each minibatch using an embedding layer of the neural network without exceeding available computing resources, determining a largest minimum number of minibatches (N) into which any host computer can divide its respective batch of training examples, generating, by each host computer, N minibatches from the respective batch of training examples received by the host computer, and processing, by each host computer, the N minibatches using the embedding layer.
    Type: Application
    Filed: January 11, 2019
    Publication date: July 16, 2020
    Inventors: Jeremiah Willcock, George Kurian
  • Patent number: 9538075
    Abstract: One embodiment is a method of operating a plenoptic image processing system. The method includes storing plenoptic image data in a non-transitory computer readable memory of the system. The plenoptic image data includes data of a plurality of microimages. The method includes applying a frequency domain transform to the stored plenoptic image data to provide a frequency domain plenoptic image data structure stored in the memory, and processing the data structure using an extended slice technique to select a focal plane from the data structure. The extended slice technique comprises taking multiple slices of the frequency domain transformed plenoptic image data structure and configuring the multiple slices to provide extended slice data. The method further includes applying an inverse frequency domain transform to the extended slice data to provide inverse transform extended slice data, and providing an image output based upon the inverse transformed extended slice data.
    Type: Grant
    Filed: December 30, 2014
    Date of Patent: January 3, 2017
    Assignee: Indiana University Research and Technology Corporation
    Inventors: Andrew Lumsdaine, Jeremiah Willcock, Yuduo Zhou, Lili Lin
  • Publication number: 20150187047
    Abstract: One embodiment is a method of operating a plenoptic image processing system. The method includes storing plenoptic image data in a non-transitory computer readable memory of the system. The plenoptic image data includes data of a plurality of microimages. The method includes applying a frequency domain transform to the stored plenoptic image data to provide a frequency domain plenoptic image data structure stored in the memory, and processing the data structure using an extended slice technique to select a focal plane from the data structure. The extended slice technique comprises taking multiple slices of the frequency domain transformed plenoptic image data structure and configuring the multiple slices to provide extended slice data. The method further includes applying an inverse frequency domain transform to the extended slice data to provide inverse transform extended slice data, and providing an image output based upon the inverse transformed extended slice data.
    Type: Application
    Filed: December 30, 2014
    Publication date: July 2, 2015
    Inventors: Andrew Lumsdaine, Jeremiah Willcock, Yuduo Zhou, Lili Lin
  • Patent number: 8775495
    Abstract: The present invention involves a sparse matrix processing system and method which uses sparse matrices that are compressed to reduce memory traffic and improve performance of computations using sparse matrices.
    Type: Grant
    Filed: February 12, 2007
    Date of Patent: July 8, 2014
    Assignee: Indiana University Research and Technology
    Inventors: Andrew Lumsdaine, Jeremiah Willcock
  • Publication number: 20070198621
    Abstract: The present invention involves a sparse matrix processing system and method which uses sparse matrices that are compressed to reduce memory traffic and improve performance of computations using sparse matrices.
    Type: Application
    Filed: February 12, 2007
    Publication date: August 23, 2007
    Applicant: IU RESEARCH & TECHNOLOGY CORPORATION
    Inventors: Andrew Lumsdaine, Jeremiah Willcock