Patents by Inventor Stephen Curtis Johnson

Stephen Curtis Johnson 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: 11934308
    Abstract: Techniques for data manipulation using processor cluster address generation are disclosed. One or more processor clusters capable of executing software-initiated work requests are accessed. A plurality of dimensions from a tensor is flattened into a single dimension. A work request address field is parsed, where the address field contains unique address space descriptors for each of the plurality of dimensions, along with a common address space descriptor. A direct memory access (DMA) engine coupled to the one or more processor clusters is configured. Addresses are generated based on the unique address space descriptors and the common address space descriptor. The plurality of dimensions can be summed to generate a single address. Memory is accessed using two or more of the addresses that were generated. The addresses are used to enable DMA access.
    Type: Grant
    Filed: September 29, 2020
    Date of Patent: March 19, 2024
    Inventors: David John Simpson, Stephen Curtis Johnson, Richard Douglas Trauben
  • Patent number: 10997102
    Abstract: Techniques for data manipulation using processor cluster address generation are disclosed. One or more processor clusters capable of executing software-initiated work requests are accessed. A direct memory access (DMA) engine, coupled to the one or more processor clusters, is configured, wherein the DMA engine employs address generation across a plurality of tensor dimensions. A work request address field is parsed, where the address field contains unique address space descriptors for each of the plurality of dimensions, along with a common address space descriptor. DMA addresses are generated based on the unique address space descriptors and the common address space descriptor. Memory using two or more of the DMA addresses that were generated is accessed, where the two or more DMA addresses enable processing within the one or more processor clusters.
    Type: Grant
    Filed: August 12, 2020
    Date of Patent: May 4, 2021
    Assignee: Wave Computing, Inc.
    Inventors: David John Simpson, Richard Douglas Trauben, Stephen Curtis Johnson
  • Patent number: 10949328
    Abstract: Techniques are disclosed for data manipulation within a reconfigurable computing environment for data flow graph computation using exceptions. Processing elements are configured within a reconfigurable fabric to implement a data flow graph. The processing elements are loaded with process agents. Valid data is executed by a first process agent on a first processing element, where the first process agent corresponds to a starting node of the data flow graph. A second processing element detects that an error exception has occurred, where a second process agent is running on the second processing element. A done signal to a third process agent is withheld by the second process agent, where the third process agent is running on a third processing element. The second process agent raises an interrupt request, where the interrupt request is based on the detecting that an error exception has occurred.
    Type: Grant
    Filed: July 3, 2019
    Date of Patent: March 16, 2021
    Assignee: Wave Computing, Inc.
    Inventors: Keith Mark Evans, Stephen Curtis Johnson
  • Publication number: 20210011849
    Abstract: Techniques for data manipulation using processor cluster address generation are disclosed. One or more processor clusters capable of executing software-initiated work requests are accessed. A plurality of dimensions from a tensor is flattened into a single dimension. A work request address field is parsed, where the address field contains unique address space descriptors for each of the plurality of dimensions, along with a common address space descriptor. A direct memory access (DMA) engine coupled to the one or more processor clusters is configured. Addresses are generated based on the unique address space descriptors and the common address space descriptor. The plurality of dimensions can be summed to generate a single address. Memory is accessed using two or more of the addresses that were generated. The addresses are used to enable DMA access.
    Type: Application
    Filed: September 29, 2020
    Publication date: January 14, 2021
    Inventors: David John Simpson, Stephen Curtis Johnson, Richard Douglas Trauben
  • Publication number: 20200371978
    Abstract: Techniques for data manipulation using processor cluster address generation are disclosed. One or more processor clusters capable of executing software-initiated work requests are accessed. A direct memory access (DMA) engine, coupled to the one or more processor clusters, is configured, wherein the DMA engine employs address generation across a plurality of tensor dimensions. A work request address field is parsed, where the address field contains unique address space descriptors for each of the plurality of dimensions, along with a common address space descriptor. DMA addresses are generated based on the unique address space descriptors and the common address space descriptor. Memory using two or more of the DMA addresses that were generated is accessed, where the two or more DMA addresses enable processing within the one or more processor clusters.
    Type: Application
    Filed: August 12, 2020
    Publication date: November 26, 2020
    Inventors: David John Simpson, Richard Douglas Trauben, Stephen Curtis Johnson
  • Publication number: 20200174707
    Abstract: Techniques for data manipulation using filling logic for tensor calculation are disclosed. A processor and a memory subsystem for data manipulation are obtained. A FIFO is configured between the processor and the memory subsystem, where the FIFO is coupled with the processor. FIFO filling logic is configured between the FIFO and the memory subsystem, wherein the FIFO filling logic is connected to the FIFO and the memory subsystem. The processor consumes an element stream from the FIFO, wherein the element stream flows to the FIFO from the memory subsystem through the FIFO filling logic. The element stream from the FIFO comprises elements of a tensor, and the consuming comprises performing tensor calculations. An address is provided to the FIFO filling logic for accessing data from the memory subsystem using an address generator.
    Type: Application
    Filed: February 7, 2020
    Publication date: June 4, 2020
    Inventor: Stephen Curtis Johnson
  • Publication number: 20190324888
    Abstract: Techniques are disclosed for data manipulation within a reconfigurable computing environment for data flow graph computation using exceptions. Processing elements are configured within a reconfigurable fabric to implement a data flow graph. The processing elements are loaded with process agents. Valid data is executed by a first process agent on a first processing element, where the first process agent corresponds to a starting node of the data flow graph. A second processing element detects that an error exception has occurred, where a second process agent is running on the second processing element. A done signal to a third process agent is withheld by the second process agent, where the third process agent is running on a third processing element. The second process agent raises an interrupt request, where the interrupt request is based on the detecting that an error exception has occurred.
    Type: Application
    Filed: July 3, 2019
    Publication date: October 24, 2019
    Inventors: Keith Mark Evans, Stephen Curtis Johnson
  • Publication number: 20190130268
    Abstract: Techniques are disclosed for tensor radix point calculation in a neural network. A first tensor is obtained. A first set of weights is generated for the first tensor. An operation is evaluated to be performed by a layer within a deep neural network on the first tensor using the first set of weights. A set of output radix points is determined for the layer within the deep neural network based on the first tensor and the operation. An output tensor is calculated for the layer within the deep neural network using the set of output radix points, the first tensor, and the first set of weights. The operation is restarted, when the layer reports a hardware overflow, using an updated set of output radix points. The determining is further based on a radix point for the first tensor. The determining is further based on metadata for the first tensor.
    Type: Application
    Filed: October 30, 2018
    Publication date: May 2, 2019
    Inventors: Kenneth Shiring, Stephen Curtis Johnson
  • Publication number: 20190130276
    Abstract: Techniques are disclosed for tensor manipulation within a neural network and include training the neural network. An input tensor is obtained for manipulation within a deep neural network. The input tensor includes fixed-point numerical representations and tensor metadata and is applied to a layer within the deep neural network. The input tensor has variable radix points associated with the fixed-point values of the input tensor. A weighting tensor including metadata is determined for the input tensor applied to the layer. An output tensor is calculated from the layer within the deep neural network based on the input tensor and the weighting tensor. The output tensor has fixed-point values with a second set of variable radix points associated with the fixed-point values of the output tensor. The output tensor includes tensor metadata. The output tensor is propagated within the deep neural network.
    Type: Application
    Filed: October 25, 2018
    Publication date: May 2, 2019
    Inventors: Kenneth Shiring, Stephen Curtis Johnson
  • Patent number: 9692419
    Abstract: Compact logic evaluation gates are built using null convention logic (NCL) circuits. The inputs to a null convention circuit include a NCL true input and a NCL complement input. The NCL circuit includes a gate coupled to the pair of inputs, where the gate comprises a plurality of transistors. The transistors allow for logical signal capture, provide a pair of cross-coupled inverters for data storage, and include a first and second pull-down device. The first pull-down device causes a first side of the pair of cross-coupled inverters to go to a “0” state when a “1” is applied to the NCL true input, and the second pull-down device causes a second side of the pair of cross-coupled inverters to go to a “0” state when a “1” is applied to the NCL complement input.
    Type: Grant
    Filed: November 14, 2015
    Date of Patent: June 27, 2017
    Assignee: Wave Computing, Inc.
    Inventors: Benjamin Wiley Melton, Stephen Curtis Johnson
  • Publication number: 20160142057
    Abstract: Compact logic evaluation gates are built using null convention logic (NCL) circuits. The inputs to a null convention circuit include a NCL true input and a NCL complement input. The NCL circuit includes a gate coupled to the pair of inputs, where the gate comprises a plurality of transistors. The transistors allow for logical signal capture, provide a pair of cross-coupled inverters for data storage, and include a first and second pull-down device. The first pull-down device causes a first side of the pair of cross-coupled inverters to go to a “0” state when a “1” is applied to the NCL true input, and the second pull-down device causes a second side of the pair of cross-coupled inverters to go to a “0” state when a “1” is applied to the NCL complement input.
    Type: Application
    Filed: November 14, 2015
    Publication date: May 19, 2016
    Inventors: Benjamin Wiley Melton, Stephen Curtis Johnson
  • Patent number: 9110676
    Abstract: The described embodiments present techniques for recovering from syntax errors. These techniques correct potential errors while preserving the shape of the parse tree, and the specific implementation of the techniques can be automatically generated from the grammar. These techniques may operate by looking back at states associated with previously-received tokens to determine pair matching status, when a synchronizing symbol is received. The techniques can respond to the pair matching status determination by potentially adding a synthesized token or by deleting a token that has already been received. The techniques may use a structure referred to herein as a tuple to assist with the evaluation of the pair matching status. Some of the techniques utilize indentation information to evaluate the pair matching status, while other techniques ignore such information. The described embodiments also include a technique for automatically generating the tuples from a set of grammar rules associated with the parser.
    Type: Grant
    Filed: November 15, 2012
    Date of Patent: August 18, 2015
    Assignee: The MathWorks, Inc.
    Inventor: Stephen Curtis Johnson