Patents by Inventor Rohan Sanjeev Patil

Rohan Sanjeev Patil 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: 11243598
    Abstract: Systems, methods, and computer readable media to manage power for a graphics processor are described. When the power management component determines the graphics processor is idle when processing a current frame by the graphics processor, the power management component predicts an idle period for the graphics processor based on the work history. The power management component obtains a first latency value indicative of a power on time period and a second latency value indicative of a power off time period for a graphics processor component, such as graphics processor hardware. The power management component provides power instructions to transition the graphics processor component to the power off state based on a determination that a combined latency value of the first latency value and the second latency value is less than the idle period.
    Type: Grant
    Filed: May 30, 2019
    Date of Patent: February 8, 2022
    Assignee: Apple Inc.
    Inventors: Tatsuya Iwamoto, Jason P. Jane, Rohan Sanjeev Patil, Kutty Banerjee, Subodh Asthana, Kyle J. Haughey
  • Patent number: 10853907
    Abstract: Systems, methods, and computer readable media to improve task switching operations in a graphics processing unit (GPU) are described. As disclosed herein, the clock rate (and voltages) of a GPU's operating environment may be altered so that a low priority task may be rapidly run to a task switch boundary (or completion) so that a higher priority task may begin execution. In some embodiments, only the GPU's operating clock (and voltage) is increased during the task switch operation. In other embodiments, the clock rate (voltages) of supporting components may also be increased. For example, the operating clock for the GPU's supporting memory, memory controller or memory fabric may also be increased. Once the lower priority task has been swapped out, one or more of the clocks (and voltages) increased during the switch operation could be subsequently decreased, though not necessarily to their pre-switch rates.
    Type: Grant
    Filed: July 15, 2019
    Date of Patent: December 1, 2020
    Assignee: Apple Inc.
    Inventors: Tatsuya Iwamoto, Kutty Banerjee, Rohan Sanjeev Patil
  • Patent number: 10719970
    Abstract: One disclosed embodiment includes a method of scheduling graphics commands for processing. A plurality of micro-commands is generated based on one or more graphics commands obtained from a central processing unit. The dependency between the one or more graphics commands is then determined and an execution graph is generated based on the determined dependency. Each micro-command in the execution graph is connected by an edge to the other micro-commands that it depends on. A wait count is defined for each micro-command of the execution graph, where the wait count indicates the number of micro-commands that the each particular micro-command depends on. One or more micro-commands with a wait count of zero are transmitted to a ready queue for processing.
    Type: Grant
    Filed: January 8, 2018
    Date of Patent: July 21, 2020
    Assignee: Apple Inc.
    Inventors: Kutty Banerjee, Rohan Sanjeev Patil, Pratik Chandresh Shah, Gokhan Avkarogullari, Tatsuya Iwamoto
  • Patent number: 10678553
    Abstract: One disclosed embodiment includes a method of graphics processing. The method includes receiving an indication to update a current frame on a display. A plurality of graphics command are determined to be associated with a next frame that replaces the current frame. A power-up command is generated based on the received indication, configured to cause GPU hardware to begin an initialization operation. The central processing unit processes the plurality of graphics command. Prior to completely process the plurality of graphics command, a power-up command is sent to a GPU firmware. The GPU firmware initializes the GPU hardware based on the power-up command. The processed plurality of graphics command is also transmitted to the GPU hardware. The GPU hardware executes the processed plurality of graphics command to render the next frame on the display.
    Type: Grant
    Filed: April 24, 2018
    Date of Patent: June 9, 2020
    Assignee: Apple Inc.
    Inventors: Rohan Sanjeev Patil, Gokhan Avkarogullari, Tatsuya Iwamoto
  • Publication number: 20190369707
    Abstract: Systems, methods, and computer readable media to manage power for a graphics processor are described. When the power management component determines the graphics processor is idle when processing a current frame by the graphics processor, the power management component predicts an idle period for the graphics processor based on the work history. The power management component obtains a first latency value indicative of a power on time period and a second latency value indicative of a power off time period for a graphics processor component, such as graphics processor hardware. The power management component provides power instructions to transition the graphics processor component to the power off state based on a determination that a combined latency value of the first latency value and the second latency value is less than the idle period.
    Type: Application
    Filed: May 30, 2019
    Publication date: December 5, 2019
    Inventors: Tatsuya Iwamoto, Jason P. Jane, Rohan Sanjeev Patil, Kutty Banerjee, Subodh Asthana, Kyle J. Haughey
  • Publication number: 20190340723
    Abstract: Systems, methods, and computer readable media to improve task switching operations in a graphics processing unit (GPU) are described. As disclosed herein, the clock rate (and voltages) of a GPU's operating environment may be altered so that a low priority task may be rapidly run to a task switch boundary (or completion) so that a higher priority task may begin execution. In some embodiments, only the GPU's operating clock (and voltage) is increased during the task switch operation. In other embodiments, the clock rate (voltages) of supporting components may also be increased. For example, the operating clock for the GPU's supporting memory, memory controller or memory fabric may also be increased. Once the lower priority task has been swapped out, one or more of the clocks (and voltages) increased during the switch operation could be subsequently decreased, though not necessarily to their pre-switch rates.
    Type: Application
    Filed: July 15, 2019
    Publication date: November 7, 2019
    Inventors: Tatsuya Iwamoto, Kutty Banerjee, Rohan Sanjeev Patil
  • Patent number: 10373287
    Abstract: Systems, methods, and computer readable media to improve task switching operations in a graphics processing unit (GPU) are described. As disclosed herein, the clock rate (and voltages) of a GPU's operating environment may be altered so that a low priority task may be rapidly run to a task switch boundary (or completion) so that a higher priority task may begin execution. In some embodiments, only the GPU's operating clock (and voltage) is increased during the task switch operation. In other embodiments, the clock rate (voltages) of supporting components may also be increased. For example, the operating clock for the GPU's supporting memory, memory controller or memory fabric may also be increased. Once the lower priority task has been swapped out, one or more of the clocks (and voltages) increased during the switch operation could be subsequently decreased, though not necessarily to their pre-switch rates.
    Type: Grant
    Filed: August 18, 2017
    Date of Patent: August 6, 2019
    Assignee: Apple Inc.
    Inventors: Tatsuya Iwamoto, Kutty Banerjee, Rohan Sanjeev Patil
  • Publication number: 20190213776
    Abstract: One disclosed embodiment includes a method of scheduling graphics commands for processing. A plurality of micro-commands is generated based on one or more graphics commands obtained from a central processing unit. The dependency between the one or more graphics commands is then determined and an execution graph is generated based on the determined dependency. Each micro-command in the execution graph is connected by an edge to the other micro-commands that it depends on. A wait count is defined for each micro-command of the execution graph, where the wait count indicates the number of micro-commands that the each particular micro-command depends on. One or more micro-commands with a wait count of zero are transmitted to a ready queue for processing.
    Type: Application
    Filed: January 8, 2018
    Publication date: July 11, 2019
    Inventors: Kutty Banerjee, Rohan Sanjeev Patil, Pratik Chandresh Shah, Gokhan Avkarogullari, Tatsuya Iwamoto
  • Publication number: 20190108037
    Abstract: One disclosed embodiment includes a method of graphics processing. The method includes receiving an indication to update a current frame on a display. A plurality of graphics command are determined to be associated with a next frame that replaces the current frame. A power-up command is generated based on the received indication, configured to cause GPU hardware to begin an initialization operation. The central processing unit processes the plurality of graphics command. Prior to completely process the plurality of graphics command, a power-up command is sent to a GPU firmware. The GPU firmware initializes the GPU hardware based on the power-up command. The processed plurality of graphics command is also transmitted to the GPU hardware. The GPU hardware executes the processed plurality of graphics command to render the next frame on the display.
    Type: Application
    Filed: April 24, 2018
    Publication date: April 11, 2019
    Inventors: Rohan Sanjeev Patil, Gokhan Avkarogullari, Tatsuya Iwamoto
  • Publication number: 20190057484
    Abstract: Systems, methods, and computer readable media to improve task switching operations in a graphics processing unit (GPU) are described. As disclosed herein, the clock rate (and voltages) of a GPU's operating environment may be altered so that a low priority task may be rapidly run to a task switch boundary (or completion) so that a higher priority task may begin execution. In some embodiments, only the GPU's operating clock (and voltage) is increased during the task switch operation. In other embodiments, the clock rate (voltages) of supporting components may also be increased. For example, the operating clock for the GPU's supporting memory, memory controller or memory fabric may also be increased. Once the lower priority task has been swapped out, one or more of the clocks (and voltages) increased during the switch operation could be subsequently decreased, though not necessarily to their pre-switch rates.
    Type: Application
    Filed: August 18, 2017
    Publication date: February 21, 2019
    Inventors: Tatsuya Iwamoto, Kutty Banerjee, Rohan Sanjeev Patil