Patents by Inventor Mahesh Ravishankar

Mahesh Ravishankar 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).

  • Publication number: 20230259340
    Abstract: A computation graph is accessed. In the computation graph, operations to be performed are represented as interior nodes, inputs to the operations are represented as leaf nodes, and a result of the operations is represented as a root. Selected sets of the operations are combined to form respective kernels of operations. Code is generated execute the kernels of operations. The code is executed to determine the result.
    Type: Application
    Filed: April 14, 2023
    Publication date: August 17, 2023
    Inventors: Mahesh RAVISHANKAR, Vinod GROVER, Evghenii GABUROV, Alberto MAGNI, Sean Youngsung LEE
  • Publication number: 20230251861
    Abstract: Systems and methods for obtaining a set of instructions for executing a computer program and generating executable code for the computer program based, at least in part, on scheduling operations associated with the executable code according to a polyhedral representation of a directed acyclic graph. The set of instructions may be represented as a domain-specific language. The executable code may be executable code for a specific processor architecture.
    Type: Application
    Filed: April 18, 2023
    Publication date: August 10, 2023
    Inventors: Venmugil Elango, Norman Rubin, Mahesh Ravishankar, Vinod Grover
  • Patent number: 11630653
    Abstract: A computation graph is accessed. In the computation graph, operations to be performed are represented as interior nodes, inputs to the operations are represented as leaf nodes, and a result of the operations is represented as a root. Selected sets of the operations are combined to form respective kernels of operations. Code is generated execute the kernels of operations. The code is executed to determine the result.
    Type: Grant
    Filed: January 16, 2018
    Date of Patent: April 18, 2023
    Assignee: NVIDIA Corporation
    Inventors: Mahesh Ravishankar, Vinod Grover, Evghenii Gaburov, Alberto Magni, Sean Lee
  • Publication number: 20230025245
    Abstract: Apparatuses, systems, and techniques to modify performance of a neural network. In at least one embodiment, performance of one or more neural networks is modified based, at least in part, on a user-provided description of at least portions of the one or more neural networks.
    Type: Application
    Filed: July 13, 2021
    Publication date: January 26, 2023
    Inventors: Vinod Grover, Mahesh Ravishankar, Bin Fan, Alexander James Collins, Se Jong Oh, Evghenii Gaburov
  • Publication number: 20190278574
    Abstract: A compiler generates an accelerated version of a serial computer program that can be executed on a parallel processor. The compiler analyzes the serial computer program and generates a graph of nodes connected by edges. Each node corresponds to an operation or value set forth in the serial computer program. Each incoming edge corresponds to an operand that is specified or generated in the serial computer program. The compiler partitions the graph of nodes into two different types of partitions; a first type of partition includes one or more nodes that correspond to one or more pointwise operations, and a second type of partition includes one node that corresponds to one operation that is performed efficiently via a library. For each partition, the compiler configures a sequence of kernels that can be executed on the parallel processor to perform the operations associated with the computer program in an accelerated fashion.
    Type: Application
    Filed: December 10, 2018
    Publication date: September 12, 2019
    Inventors: Mahesh RAVISHANKAR, Vinod GROVER, Evghenii GABUROV
  • Publication number: 20190278593
    Abstract: Systems and methods for obtaining a set of instructions for executing a computer program and generating executable code for the computer program based, at least in part, on scheduling operations associated with the executable code according to a polyhedral representation of a directed acyclic graph. The set of instructions may be represented as a domain-specific language. The executable code may be executable code for a specific processor architecture.
    Type: Application
    Filed: February 15, 2019
    Publication date: September 12, 2019
    Inventors: Venmugil Elango, Norman Rubin, Mahesh Ravishankar, Vinod K. Grover
  • Patent number: 10152310
    Abstract: A compiler and a method of compiling code that reduces memory bandwidth when processing code on a computer are provided herein. In one embodiment, the method includes: (1) automatically identifying a sequence of operations for fusing, wherein the sequence of operations correspond to instructions from a source code, (2) determining subdivisions of a final output of the sequence of operations, (3) determining input data and intermediate operations needed to obtain a final subdivision output for each of the subdivisions and (4) automatically generating code to fuse the sequence of operations employing the subdivisions, wherein the automatically identifying and the automatically generating are performed by a processor.
    Type: Grant
    Filed: May 27, 2015
    Date of Patent: December 11, 2018
    Assignee: Nvidia Corporation
    Inventors: Mahesh Ravishankar, Paulius Micikevicius, Vinod Grover
  • Publication number: 20180203673
    Abstract: A computation graph is accessed. In the computation graph, operations to be performed are represented as interior nodes, inputs to the operations are represented as leaf nodes, and a result of the operations is represented as a root. Selected sets of the operations are combined to form respective kernels of operations. Code is generated execute the kernels of operations. The code is executed to determine the result.
    Type: Application
    Filed: January 16, 2018
    Publication date: July 19, 2018
    Inventors: Mahesh RAVISHANKAR, Vinod GROVER, Evghenii GABUROV, Alberto MAGNI, Sean LEE
  • Patent number: 9563933
    Abstract: Various disclosed embodiments are directed to methods and systems for reducing memory space in sequential computer-implemented operations. The method includes generating a directed acyclic graph (DAG) having a plurality of vertices and directed edges, wherein each edge connects a predecessor vertex to a successor vertex. Each vertex represents one of the computer-implemented operations and each directed edge represents output data generated by the operations. The method includes merging one of the predecessor vertex with one of the successor vertex by combining the operations of the predecessor vertex and the successor vertex if the predecessor and successor vertices are connected by a directed edge and there is only one directed edge originating from the predecessor vertex. The merger of the predecessor and the successor vertices reduces the number of directed edges in the DAG, resulting in a reduction of intermediate buffer memory required to store the output data.
    Type: Grant
    Filed: January 28, 2014
    Date of Patent: February 7, 2017
    Assignee: Nvidia Corporation
    Inventors: Vinod Grover, Mahesh Ravishankar
  • Publication number: 20160350088
    Abstract: A compiler and a method of compiling code that reduces memory bandwidth when processing code on a computer are provided herein. In one embodiment, the method includes: (1) automatically identifying a sequence of operations for fusing, wherein the sequence of operations correspond to instructions from a source code, (2) determining subdivisions of a final output of the sequence of operations, (3) determining input data and intermediate operations needed to obtain a final subdivision output for each of the subdivisions and (4) automatically generating code to fuse the sequence of operations employing the subdivisions, wherein the automatically identifying and the automatically generating are performed by a processor.
    Type: Application
    Filed: May 27, 2015
    Publication date: December 1, 2016
    Inventors: Mahesh Ravishankar, Paulius Micikevicius, Vinod Grover
  • Publication number: 20150212933
    Abstract: Various disclosed embodiments are directed to methods and systems for reducing memory space in sequential computer-implemented operations. The method includes generating a directed acyclic graph (DAG) having a plurality of vertices and directed edges, wherein each edge connects a predecessor vertex to a successor vertex. Each vertex represents one of the computer-implemented operations and each directed edge represents output data generated by the operations. The method includes merging one of the predecessor vertex with one of the successor vertex by combining the operations of the predecessor vertex and the successor vertex if the predecessor and successor vertices are connected by a directed edge and there is only one directed edge originating from the predecessor vertex. The merger of the predecessor and the successor vertices reduces the number of directed edges in the DAG, resulting in a reduction of intermediate buffer memory required to store the output data.
    Type: Application
    Filed: January 28, 2014
    Publication date: July 30, 2015
    Applicant: Nvidia Corporation
    Inventors: Vinod Grover, Mahesh Ravishankar