Patents by Inventor Vinod Grover

Vinod Grover 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
  • Publication number: 20230244391
    Abstract: Apparatuses, systems, and techniques to cause information to be stored in one or more memory locations based, at least in part, on one or more graphs. In at least one embodiment, a compiler analyzes one or more graphs to determine one or more sets of data items to be stored in one or more consecutive memory locations.
    Type: Application
    Filed: January 31, 2022
    Publication date: August 3, 2023
    Inventors: Alexander James Collins, Vinod Grover
  • Publication number: 20230236907
    Abstract: Apparatuses, systems, and techniques to add operators to a compiler. In at least one embodiment, one or more operators are added to a compiler using one or more application programming interfaces (APIs).
    Type: Application
    Filed: January 26, 2022
    Publication date: July 27, 2023
    Inventors: Evghenii Gaburov, Bin Fan, Alexander James Collins, Vinod Grover
  • Publication number: 20230123811
    Abstract: Apparatuses, systems, and techniques to infer information from one or more sets of data. In at least one embodiment, a processor uses one or more neural networks to infer information from one or more sets of data based, at least in part, on one or more dynamically configurable dimensions of the one or more sets of data.
    Type: Application
    Filed: October 15, 2021
    Publication date: April 20, 2023
    Inventors: Alexander James Collins, Vinod Grover
  • Publication number: 20230121044
    Abstract: Apparatuses, systems, and techniques to determine dimensions of one or more sets of data. In at least one embodiment, a processor causes one or more dimensions of one or more sets of data to be determined using one or more dimensional constraints of the one or more sets of data.
    Type: Application
    Filed: October 15, 2021
    Publication date: April 20, 2023
    Inventors: Vinod Grover, Alexander James Collins
  • 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: 20230051050
    Abstract: Apparatuses, systems, and techniques to detect loops in neural network graphs. In at least one embodiment, one or more loops are detected within one or more graphs corresponding to one or more neural networks.
    Type: Application
    Filed: August 3, 2021
    Publication date: February 16, 2023
    Inventors: Vinod Grover, Sean Youngsung Lee
  • Patent number: 11579852
    Abstract: System and method of compiling a program having a mixture of host code and device code to enable Profile Guided Optimization (PGO) for device code execution. An exemplary integrated compiler can compile source code programmed to be executed by a host processor (e.g., CPU) and a co-processor (e.g., a GPU) concurrently. The compilation can generate an instrumented executable code which includes: profile instrumentation counters for the device functions; and instructions for the host processor to allocate and initialize device memory for the counters and to retrieve collected profile information from the device memory to generate instrumentation output. The output is fed back to the compiler for compiling the source code a second time to generate optimized executable code for the device functions defined in the source code.
    Type: Grant
    Filed: July 27, 2020
    Date of Patent: February 14, 2023
    Assignee: NVIDIA Corporation
    Inventors: Hariharan Sandanagobalane, Sean Lee, Vinod Grover
  • 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: 20220414455
    Abstract: Apparatuses, systems, and techniques to combine operations. In at least one embodiment, a processor causes two or more operations in a graph to be combined based, at least in part, on another combination of two or more independent operations.
    Type: Application
    Filed: June 29, 2021
    Publication date: December 29, 2022
    Inventors: Alexander James Collins, Vinod Grover
  • Publication number: 20220075842
    Abstract: Apparatuses, systems, and techniques to perform matrix multiplication fused with reduction using a graphics processing unit. In at least one embodiment, one or more circuits are used to multiply two or more sub-portions of one or more matrices and generate two or more vectors therefrom using two or more parallel operations.
    Type: Application
    Filed: September 4, 2020
    Publication date: March 10, 2022
    Inventors: Somashekaracharya Gunasagara Bhaskaracharya, Vinod Grover
  • Patent number: 10853044
    Abstract: System and method of compiling a program having a mixture of host code and device code to enable Profile Guided Optimization (PGO) for device code execution. An exemplary integrated compiler can compile source code programmed to be executed by a host processor (e.g., CPU) and a co-processor (e.g., a GPU) concurrently. The compilation can generate an instrumented executable code which includes: profile instrumentation counters for the device functions; and instructions for the host processor to allocate and initialize device memory for the counters and to retrieve collected profile information from the device memory to generate instrumentation output. The output is fed back to the compiler for compiling the source code a second time to generate optimized executable code for the device functions defined in the source code.
    Type: Grant
    Filed: October 8, 2018
    Date of Patent: December 1, 2020
    Assignee: NVIDIA Corporation
    Inventors: Hariharan Sandanagobalane, Sean Lee, Vinod Grover
  • Publication number: 20200356351
    Abstract: System and method of compiling a program having a mixture of host code and device code to enable Profile Guided Optimization (PGO) for device code execution. An exemplary integrated compiler can compile source code programmed to be executed by a host processor (e.g., CPU) and a co-processor (e.g., a GPU) concurrently. The compilation can generate an instrumented executable code which includes: profile instrumentation counters for the device functions; and instructions for the host processor to allocate and initialize device memory for the counters and to retrieve collected profile information from the device memory to generate instrumentation output. The output is fed back to the compiler for compiling the source code a second time to generate optimized executable code for the device functions defined in the source code.
    Type: Application
    Filed: July 27, 2020
    Publication date: November 12, 2020
    Inventors: Hariharan Sandanagobalane, Sean Lee, Vinod Grover
  • Publication number: 20200264970
    Abstract: A computer system manages the allocation of memory to an application program using a dependency tree. The dependency tree informs a memory manager of data inputs, data outputs, and intermediate values associated with execution of the application program. The memory manager allocates a single heap structure within a physical memory. Data associated with each node of the dependency tree is allocated to the heap structure so that data input values are allocated in a contiguous block, and intermediate values are allocated separately. In various examples, as execution of the application program proceeds, the separation of intermediate values from non-intermediate values within the heap reduces memory fragmentation providing improved performance of the computer system as a whole.
    Type: Application
    Filed: February 19, 2019
    Publication date: August 20, 2020
    Inventors: Sean Lee, Vinod Grover, James Clarkson
  • 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: 20190196797
    Abstract: A system and method for processing source code for compilation. The method includes accessing a portion of host source code and determining whether the portion of the host source code comprises a device lambda expression. The method further includes in response to the portion of host code comprising the device lambda expression, determining a unique placeholder type instantiation based on the device lambda expression and modifying the device lambda expression based on the unique placeholder type instantiation to produce modified host source code. The method further includes sending the modified host source code to a host compiler.
    Type: Application
    Filed: February 27, 2019
    Publication date: June 27, 2019
    Inventors: Jaydeep Marathe, Vinod Grover
  • Patent number: 10324693
    Abstract: A system and method for optimizing multiple invocations of a graphics processing unit (GPU) program in Java. In one embodiment, the system includes: (1) a frontend component in a computer system and configured to compile Java bytecode associated with the a class object that implements a functional interface into Intermediate Representation (IR) code and store the IR code with the associated jogArray and (2) a collector/composer component in the computer system, associated with the frontend and configured to traverse a tree containing the multiple invocations from the result to collect the IR code and compose the IR code collected in the traversing into aggregate IR code when a result of the GPU program is explicitly requested to be transferred to a host.
    Type: Grant
    Filed: November 24, 2015
    Date of Patent: June 18, 2019
    Assignee: Nvidia Corporation
    Inventors: Michael Lai, Vinod Grover, Sean Lee, Jaydeep Marathe
  • Publication number: 20190146766
    Abstract: System and method of compiling a program having a mixture of host code and device code to enable Profile Guided Optimization (PGO) for device code execution. An exemplary integrated compiler can compile source code programmed to be executed by a host processor (e.g., CPU) and a co-processor (e.g., a GPU) concurrently. The compilation can generate an instrumented executable code which includes: profile instrumentation counters for the device functions; and instructions for the host processor to allocate and initialize device memory for the counters and to retrieve collected profile information from the device memory to generate instrumentation output. The output is fed back to the compiler for compiling the source code a second time to generate optimized executable code for the device functions defined in the source code.
    Type: Application
    Filed: October 8, 2018
    Publication date: May 16, 2019
    Inventors: Hariharan Sandanagobalane, Sean Lee, Vinod Grover
  • Publication number: 20190121625
    Abstract: Compiler techniques lot inline parallelism and re-targetable parallel runtime execution of logic iterators enables selection thereof from the source code or dynamically during the object code execution.
    Type: Application
    Filed: December 10, 2018
    Publication date: April 25, 2019
    Inventors: Vinod Grover, Thibaut Lutz