Patents by Inventor Hema C. Nalluri

Hema C. Nalluri 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: 20230359499
    Abstract: Examples are described here that can be used to allocate commands from multiple sources to performance by one or more segments of a processing device. For example, a processing device can be segmented into multiple portions and each portion is allocated to process commands from a particular source. In the event a single source provides commands, the entire processing device (all segments) can be allocated to process commands from the single source. When a second source provides commands, some segments can be allocated to perform commands from the first source and other segments can be allocated to perform commands from the second source. Accordingly, commands from multiple applications can be executed by a processing unit at the same time.
    Type: Application
    Filed: May 9, 2023
    Publication date: November 9, 2023
    Inventors: James VALERIO, Vasanth RANGANATHAN, Joydeep RAY, Rahul A. KULKARNI, Abhishek R. APPU, Jeffery S. BOLES, Hema C. NALLURI
  • Patent number: 11726826
    Abstract: Examples are described here that can be used to allocate commands from multiple sources to performance by one or more segments of a processing device. For example, a processing device can be segmented into multiple portions and each portion is allocated to process commands from a particular source. In the event a single source provides commands, the entire processing device (all segments) can be allocated to process commands from the single source. When a second source provides commands, some segments can be allocated to perform commands from the first source and other segments can be allocated to perform commands from the second source. Accordingly, commands from multiple applications can be executed by a processing unit at the same time.
    Type: Grant
    Filed: June 4, 2021
    Date of Patent: August 15, 2023
    Assignee: Intel Corporation
    Inventors: James Valerio, Vasanth Ranganathan, Joydeep Ray, Rahul A. Kulkarni, Abhishek R. Appu, Jeffery S. Boles, Hema C. Nalluri
  • Publication number: 20220129323
    Abstract: Examples are described here that can be used to allocate commands from multiple sources to performance by one or more segments of a processing device. For example, a processing device can be segmented into multiple portions and each portion is allocated to process commands from a particular source. In the event a single source provides commands, the entire processing device (all segments) can be allocated to process commands from the single source. When a second source provides commands, some segments can be allocated to perform commands from the first source and other segments can be allocated to perform commands from the second source. Accordingly, commands from multiple applications can be executed by a processing unit at the same time.
    Type: Application
    Filed: June 4, 2021
    Publication date: April 28, 2022
    Inventors: James VALERIO, Vasanth RANGANATHAN, Joydeep RAY, Rahul A. KULKARNI, Abhishek R. APPU, Jeffery S. BOLES, Hema C. NALLURI
  • Patent number: 11145115
    Abstract: By scheduling/managing workload submission to a POSH pipe one can exploit parallelism with minimum impact to the software scheduler in some embodiments.
    Type: Grant
    Filed: December 27, 2018
    Date of Patent: October 12, 2021
    Assignee: Intel Corporation
    Inventors: Murali Ramadoss, Balaji Vembu, Hema C. Nalluri, Michael Apodaca, Jeffery S. Boles
  • Patent number: 11074109
    Abstract: Examples are described here that can be used to allocate commands from multiple sources to performance by one or more segments of a processing device. For example, a processing device can be segmented into multiple portions and each portion is allocated to process commands from a particular source. In the event a single source provides commands, the entire processing device (all segments) can be allocated to process commands from the single source. When a second source provides commands, some segments can be allocated to perform commands from the first source and other segments can be allocated to perform commands from the second source. Accordingly, commands from multiple applications can be executed by a processing unit at the same time.
    Type: Grant
    Filed: March 27, 2019
    Date of Patent: July 27, 2021
    Assignee: Intel Corporation
    Inventors: James Valerio, Vasanth Ranganathan, Joydeep Ray, Rahul A. Kulkarni, Abhishek R. Appu, Jeffery S. Boles, Hema C. Nalluri
  • Patent number: 10908939
    Abstract: An apparatus and method are described for fine grained sharing of graphics processing resources for example, one embodiment of a graphics processing apparatus comprises: a plurality of command buffers to store work elements from a plurality of virtual machines or applications, each work element indicating a command to be processed by graphics hardware and data identifying the virtual machine or application which generated the work element; a plurality of doorbell registers or memory regions, each doorbell register or memory region associated with a particular virtual machine or application, a virtual machine or application to store an indication in its doorbell register or memory region when it has stored a work element to a command buffer; and a work scheduler to read a work element from a command buffer responsive to detecting an indication in a doorbell register, the work scheduler to combine work elements from multiple virtual machines or applications in a submission to a graphics engine, the graphics eng
    Type: Grant
    Filed: January 31, 2017
    Date of Patent: February 2, 2021
    Assignee: Intel Corporation
    Inventors: Balaji Vembu, Altug Koker, David Puffer, Murali Ramadoss, Bryan R. White, Hema C. Nalluri, Aditya Navale
  • Patent number: 10885880
    Abstract: In accordance with some embodiments, a command streamer may use a cache of programmable size to cache commands to improve memory bandwidth and reduce latency. The size of the command cache may be programmably set by the command streamer.
    Type: Grant
    Filed: December 11, 2019
    Date of Patent: January 5, 2021
    Assignee: Intel Corporation
    Inventors: Jeffery S. Boles, Hema C. Nalluri, Balaji Vembu, Michael Apodaca, Altug Koker, Lalit K. Saptarshi
  • Publication number: 20200310883
    Abstract: Examples are described here that can be used to allocate commands from multiple sources to performance by one or more segments of a processing device. For example, a processing device can be segmented into multiple portions and each portion is allocated to process commands from a particular source. In the event a single source provides commands, the entire processing device (all segments) can be allocated to process commands from the single source. When a second source provides commands, some segments can be allocated to perform commands from the first source and other segments can be allocated to perform commands from the second source. Accordingly, commands from multiple applications can be executed by a processing unit at the same time.
    Type: Application
    Filed: March 27, 2019
    Publication date: October 1, 2020
    Inventors: James VALERIO, Vasanth RANGANATHAN, Joydeep RAY, Rahul A. KULKARNI, Abhishek R. APPU, Jeffery S. BOLES, Hema C. NALLURI
  • Patent number: 10789071
    Abstract: Systems, apparatuses and methods may provide for associating a first instruction pointer with an IF block of a primary IF-ELSE conditional construct associated with a thread and activating a second instruction pointer in response to a dependency associated with the IF block. Additionally, the second instruction pointer may be associated with an ELSE block of the primary IF-ELSE conditional construct. In one example, the IF block and the ELSE block are executed, via the first instruction pointer and the second instruction pointer, one or more of independently from or parallel to one another.
    Type: Grant
    Filed: July 8, 2015
    Date of Patent: September 29, 2020
    Assignee: Intel Corporation
    Inventors: Hema C. Nalluri, Supratim Pal, Subramaniam Maiyuran, Joy Chandra
  • Publication number: 20200193940
    Abstract: In accordance with some embodiments, a command streamer may use a cache of programmable size to cache commands to improve memory bandwidth and reduce latency. The size of the command cache may be programmably set by the command streamer.
    Type: Application
    Filed: December 11, 2019
    Publication date: June 18, 2020
    Inventors: JEFFERY S. BOLES, HEMA C. NALLURI, BALAJI VEMBU, MICHAEL APODACA, ALTUG KOKER, LALIT K. SAPTARSHI
  • Patent number: 10672176
    Abstract: An apparatus and method are described for culling commands in a tile-based renderer. For example, one embodiment of an apparatus comprises: a command buffer to store a plurality of commands to be executed by a render pipeline to render a plurality of tiles; visibility analysis circuitry to determine per-tile visibility information for each of the plurality of tiles and to store the visibility information for a first tile in a first storage, the visibility information specifying either that all of the commands associated with rendering the first tile can be skipped or identifying individual commands associated with rendering the first tile that can be skipped; and a render pipeline to read the visibility information from the first storage to determine whether to execute or skip one or more of the commands from the command buffer to render the first tile.
    Type: Grant
    Filed: August 31, 2017
    Date of Patent: June 2, 2020
    Assignee: Intel Corporation
    Inventors: Hema C. Nalluri, Balaji Vembu, Peter L. Doyle, Michael Apodaca, Jeffery S. Boles
  • Patent number: 10522114
    Abstract: In accordance with some embodiments, a command streamer may use a cache of programmable size to cache commands to improve memory bandwidth and reduce latency. The size of the command cache may be programmably set by the command streamer.
    Type: Grant
    Filed: May 30, 2018
    Date of Patent: December 31, 2019
    Assignee: Intel Corporation
    Inventors: Jeffery S. Boles, Hema C. Nalluri, Balaji Vembu, Michael Apodaca, Altug Koker, Lalit K. Saptarshi
  • Patent number: 10303902
    Abstract: Techniques are disclosed for processing rendering engine workload of a graphics system in a secure fashion, wherein at least some security processing of the workload is offloaded from software-based security parsing to hardware-based security parsing. In some embodiments, commands from a given application are received by a user mode driver (UMD), which is configured to generate a command buffer delineated into privileged and/or non-privileged command sections. The delineated command buffer can then be passed by the UMD to a kernel-mode driver (KMD), which is configured to parse and validate only privileged buffer sections, but to issue all other batch buffers with a privilege indicator set to non-privileged.
    Type: Grant
    Filed: April 24, 2017
    Date of Patent: May 28, 2019
    Assignee: INTEL CORPORATION
    Inventors: Hema C. Nalluri, Aditya Navale, Murali Ramadoss
  • Publication number: 20190130635
    Abstract: By scheduling/managing workload submission to a POSH pipe one can exploit parallelism with minimum impact to the software scheduler in some embodiments.
    Type: Application
    Filed: December 27, 2018
    Publication date: May 2, 2019
    Inventors: Murali Ramadoss, Balaji Vembu, Hema C. Nalluri, Michael Apodaca, Jeffery S. Boles
  • Publication number: 20190066354
    Abstract: An apparatus and method are described for culling commands in a tile-based renderer. For example, one embodiment of an apparatus comprises: a command buffer to store a plurality of commands to be executed by a render pipeline to render a plurality of tiles; visibility analysis circuitry to determine per-tile visibility information for each of the plurality of tiles and to store the visibility information for a first tile in a first storage, the visibility information specifying either that all of the commands associated with rendering the first tile can be skipped or identifying individual commands associated with rendering the first tile that can be skipped; and a render pipeline to read the visibility information from the first storage to determine whether to execute or skip one or more of the commands from the command buffer to render the first tile.
    Type: Application
    Filed: August 31, 2017
    Publication date: February 28, 2019
    Inventors: HEMA C. NALLURI, BALAJI VEMBU, PETER L. DOYLE, MICHAEL APODACA, JEFFERY S. BOLES
  • Patent number: 10210655
    Abstract: By scheduling/managing workload submission to a position only shading pipe one can exploit parallelism with minimum impact to the software scheduler in some embodiments. An interface submits workloads to a slave engine running in one parallel pipe to assist a main engine running in another parallel pipe. Command sequences for each parallel pipe are separated to enable the slave engine to run ahead of the main engine. The slave engine is a position only shader and the main engine is a render engine.
    Type: Grant
    Filed: September 25, 2015
    Date of Patent: February 19, 2019
    Assignee: Intel Corporation
    Inventors: Murali Ramadoss, Balaji Vembu, Hema C. Nalluri, Michael Apodaca, Jeffery S. Boles
  • Patent number: 10192281
    Abstract: A mechanism for command stream processing is described. A method of embodiments, as described herein, includes fetching cache lines from a memory to fill command first in first out buffer (FIFO), wherein the fetched cachelines an overfetching of data necessary to process a command, a first parser to fetch and execute batch commands stored in the command FIFO and a second parser to fetch commands and execute the batch commands and non-batch commands stored in the command FIFO.
    Type: Grant
    Filed: July 7, 2016
    Date of Patent: January 29, 2019
    Assignee: INTEL CORPORATION
    Inventors: Jeffery S. Boles, Hema C. Nalluri, Balaji Vembu, Pritav H. Shah, Michael Apodaca, Murali Ramadoss, Lalit K. Saptarshi
  • Publication number: 20180286009
    Abstract: In accordance with some embodiments, a command streamer may use a cache of programmable size to cache commands to improve memory bandwidth and reduce latency. The size of the command cache may be programmably set by the command streamer.
    Type: Application
    Filed: May 30, 2018
    Publication date: October 4, 2018
    Inventors: JEFFERY S. BOLES, HEMA C. NALLURI, BALAJI VEMBU, MICHAEL APODACA, ALTUG KOKER, LALIT K. SAPTARSHI
  • Patent number: 10068307
    Abstract: The same set of render commands can be re-executed for each of a plurality of tiles making up a graphic scene to be rendered. Each time the list of commands is executed, the way the commands are executed may be modified based on information received from tile pre-processing. Specifically, a jump if command may be inserted into the command list. When this command is encountered, a determination is made, based on information received from tile pre-processing pipeline, whether to execute the command for the next primitive or not. If the next primitive is to be culled then the command for the next primitive is not executed and the flow moves past that command. If the next primitive is to be executed then the jump is not implemented. This enables avoiding reloading the same list of commands over and over for every tile.
    Type: Grant
    Filed: May 20, 2016
    Date of Patent: September 4, 2018
    Assignee: Intel Corporation
    Inventors: Balaji Vembu, Peter L. Doyle, Michael Apodaca, Hema C. Nalluri, Jeffery S. Boles
  • Publication number: 20180218530
    Abstract: An apparatus and method are described for fine grained sharing of graphics processing resources for example, one embodiment of a graphics processing apparatus comprises: a plurality of command buffers to store work elements from a plurality of virtual machines or applications, each work element indicating a command to be processed by graphics hardware and data identifying the virtual machine or application which generated the work element; a plurality of doorbell registers or memory regions, each doorbell register or memory region associated with a particular virtual machine or application, a virtual machine or application to store an indication in its doorbell register or memory region when it has stored a work element to a command buffer; and a work scheduler to read a work element from a command buffer responsive to detecting an indication in a doorbell register, the work scheduler to combine work elements from multiple virtual machines or applications in a submission to a graphics engine, the graphics eng
    Type: Application
    Filed: January 31, 2017
    Publication date: August 2, 2018
    Inventors: BALAJI VEMBU, ALTUG KOKER, DAVID PUFFER, MURALI RAMADOSS, BRYAN R. WHITE, HEMA C. NALLURI, ADITYA NAVALE