Patents by Inventor Gokhan Avkarogullari

Gokhan Avkarogullari 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: 20190066569
    Abstract: An electronic device is provided. The electronic device includes a display that is configured to show content that includes a plurality of frames. The plurality of frames includes a first frame that is associated with a pre-transition value. The plurality of frames also includes a second frame that is associated with a current frame value that corresponds to a first luminance. Additionally, the electronic device is configured to determine an overdriven current frame value corresponding to a second luminance that is greater than the first luminance. The electronic device is also configured to display the second frame using the overdriven current frame value.
    Type: Application
    Filed: May 1, 2018
    Publication date: February 28, 2019
    Inventors: Yingying Tang, Chaohao Wang, Sheng Zhang, Yunhui Hou, Paolo Sacchetto, Koorosh Aflatooni, Gokhan Avkarogullari, Guy Cote, Mahesh B. Chappalli, Peter F. Holland
  • Publication number: 20180350029
    Abstract: The disclosure pertains to techniques for operation of graphics systems and task execution on a graphics processor.
    Type: Application
    Filed: June 2, 2017
    Publication date: December 6, 2018
    Inventors: Michal Valient, Sean P. James, Gokhan Avkarogullari, Alexander K. Kan, Michael Imbrogno
  • Publication number: 20180350028
    Abstract: The disclosed concepts provide a method to generate and use a compound shader object. A compound shader object includes a shader's intermediate representation (IR) and one or more binary modules; each binary module configured to execute on one type of graphics processing unit (GPU) with a specific input state. One method includes receiving, through a public application programming interface (API), a request to execute a shader from an user-level application. At the framework level, if the request corresponds to one of the prior compiled binary modules, that module may be passed to a GPU for immediate execution via a system private interface. If the request does not correspond to one of the binary modules, the shader's IR module may returned to the requesting user-level application (which module would then have to be compiled before it may be sent to the GPU).
    Type: Application
    Filed: May 25, 2018
    Publication date: December 6, 2018
    Inventors: Kelvin C. Chiu, Charles Brissart, Gokhan Avkarogullari, Lloyd A. Cunningham, Rahul U. Joshi
  • Publication number: 20180181491
    Abstract: Techniques are disclosed relating to flushing cache lines. In some embodiments, a graphics processing unit includes a cache and one or more storage elements configured to store a plurality of command buffers that include instructions executable to manipulate data stored in the cache. In some embodiments, ones of the cache lines in the cache are configured to store data to be operated on by instructions in the command buffers and a first tag portion that identifies a command buffer that has stored data in the cache line. In some embodiments, the graphics processing unit is configured to receive a request to flush cache lines that store data of a particular command buffer, and to flush ones of the cache lines having first tag portions indicating the particular command buffer as having data stored in the cache lines while maintaining data stored in other ones of the cache lines as valid.
    Type: Application
    Filed: December 22, 2016
    Publication date: June 28, 2018
    Inventors: Anthony P. DeLaurier, Luc R. Semeria, Gokhan Avkarogullari, David A. Gotwalt, Robert S. Hartog, Michael J. Swift
  • Publication number: 20180173560
    Abstract: In various embodiments, hardware resources of a processing circuit may be allocated to a plurality of processes based on priorities of the processes. A hardware resource utilization sensor may detect a current utilization of the hardware resources by a process. A utilization accumulation circuit may determine a utilization of the hardware resources by the process over a particular amount of time. A target utilization of the hardware resources for the process may be determined based on the utilization of the hardware resources over the particular amount of time. A comparator circuit may compare the current utilization to the target utilization. A process priority adjustment circuit may adjust a priority of the process based on the comparison. Based on the adjusted priority, a different amount of hardware resources may be allocated to the processes.
    Type: Application
    Filed: December 21, 2016
    Publication date: June 21, 2018
    Inventors: Gokhan Avkarogullari, Terence M. Potter, Benjiman L. Goodman, Ralph C. Taylor, Kutty Banerjee
  • Patent number: 9952655
    Abstract: In one embodiment, a system controls a duty cycle of a processor (e.g. a graphics processing unit (GPU)) to manage power. The GPU may include a snoop indicator that may control whether or not the GPU captures and/or responds to communications from another processor (e.g. a central processing unit (CPU) that executes a driver associate with the GPU). A snooze indicator may control whether or not the GPU is automatically repowered at the start of the next frame, or is repowered only if the communication indicating additional work has been received. In an embodiment, the GPU mode controls discussed above may permit the GPU firmware executed with the GPU itself to control duty cycle power down, independent of the driver executing on the CPU.
    Type: Grant
    Filed: June 9, 2016
    Date of Patent: April 24, 2018
    Assignee: Apple Inc.
    Inventors: Jason P. Jane, Richard W. Schreyer, Michael J. E. Swift, Gokhan Avkarogullari, Luc R. Semeria, Patrick Y. Law
  • Publication number: 20170358054
    Abstract: One disclosed embodiment is directed to graphics processing method for displaying a user interface. The method includes executing a plurality of graphic processing operation in a single rendering pass. The rendering pass includes several render targets. At least one of the render targets is designated as a memory-less render target. The memory-less render target is used to store intermediate data. The intermediate data is combined with the outcome of at least one other graphics processing operation to generate a combined result. The combined result is stored in the frame buffer memory for display.
    Type: Application
    Filed: March 23, 2017
    Publication date: December 14, 2017
    Inventors: Bartosz Ciechanowski, Michael Imbrogno, Gokhan Avkarogullari, Nathaniel C. Begeman, Sean M. Gies, Michael J. Swift
  • Publication number: 20170358055
    Abstract: One disclosed embodiment includes memory allocation methods for use by a graphics processing unit in rendering graphics data for display. The method includes receiving a buffer attachment associated with a first rendering pass. The hardware prerequisites for operation of the first rendering pass is determined. The method also includes receiving an indication to not allocate system memory for the received buffer attachment. Thereafter, it may be determined whether the received buffer attachment will be loaded from or stored to by the subsequent rendering passes. If it is determined that the buffer attachment will be accessed by the subsequent rendering passes, an error message may be generated indicating that system memory must be allocated. If it is determined that the buffer attachment will not be accessed by the subsequent rendering passes, the buffer attachment is rendered without allocating system memory.
    Type: Application
    Filed: May 4, 2017
    Publication date: December 14, 2017
    Inventors: Michael J. Swift, Michael Imbrogno, Gokhan Avkarogullari
  • Publication number: 20170269666
    Abstract: Techniques for managing components of a processing system are described. Illustrative components include graphics processing units (GPUs), central processing units (CPUs), communication fabrics, memory controllers, or peripheral control circuits. For one embodiment, a performance control logic/module obtains information associated with components of a system during performance of a task by the system. The logic/module can determine the need to adjust an operational performance of a first component based on the obtained information. The performance control logic/module can also evaluate the obtained information to determine that the operational performance of one or more second components of the system should be adjusted to satisfy the determined need (of the first component). Moreover, the logic/module can adjust a first clock signal affecting the operational performance of the first component and one or more second clock signals affecting the operational performance of the one or more second components.
    Type: Application
    Filed: March 18, 2016
    Publication date: September 21, 2017
    Inventors: Rohan S. Patil, Tatsuya Iwamoto, Gokhan Avkarogullari
  • Publication number: 20170061570
    Abstract: Power management techniques are disclosed for a graphics processing unit (GPU) in which the GPU determines whether it is operating outside an operational limit and, when the GPU is operating outside the operational limit, the GPU alters performance of an operation to be performed texture processor within the GPU to reduce complexity of the operation. Otherwise, the GPU may perform the texture processing operation at its default complexity. These techniques provide a degree of power control not available in other techniques.
    Type: Application
    Filed: August 26, 2016
    Publication date: March 2, 2017
    Inventors: Gokhan Avkarogullari, Jason P. Jane, Alex Kan
  • Patent number: 9442706
    Abstract: Methods, systems and devices are disclosed to examine developer supplied graphics code and attributes at run-time. The graphics code designed for execution on a graphics processing unit (GPU) utilizing a coding language such as OpenCL or OpenGL which provides for run-time analysis by a driver, code generator, and compiler. Developer supplied code and attributes can be analyzed and altered based on the execution capabilities and performance criteria of a GPU on which the code is about to be executed. In general, reducing the number of developer defined work items or work groups can reduce the initialization cost of the GPU with respect to the work to be performed and result in an overall optimization of the machine code. Manipulation code can be added to adjust the supplied code in a manner similar to unrolling a loop to improve execution performance.
    Type: Grant
    Filed: July 31, 2014
    Date of Patent: September 13, 2016
    Assignee: Apple Inc.
    Inventors: Gokhan Avkarogullari, Alexander K. Kan, Kelvin C. Chiu
  • Patent number: 9390461
    Abstract: In one embodiment, a system controls a duty cycle of a processor (e.g. a graphics processing unit (GPU)) to manage power. The GPU may include a snoop indicator that may control whether or not the GPU captures and/or responds to communications from another processor (e.g. a central processing unit (CPU) that executes a driver associate with the GPU). A snooze indicator may control whether or not the GPU is automatically repowered at the start of the next frame, or is repowered only if the communication indicating additional work has been received. In an embodiment, the GPU mode controls discussed above may permit the GPU firmware executed with the GPU itself to control duty cycle power down, independent of the driver executing on the CPU.
    Type: Grant
    Filed: May 8, 2012
    Date of Patent: July 12, 2016
    Assignee: Apple Inc.
    Inventors: Jason P. Jane, Richard W. Schreyer, Michael J. E. Swift, Gokhan Avkarogullari, Luc R. Semeria, Patrick Y. Law
  • Patent number: 9329663
    Abstract: Techniques are provided for managing the power consumption and performance of a processing device. Power consumption and utilization ratios for a processing device may be continuously measured. The measured power consumption and utilization ratios may be compared to target power consumption and utilization ratios to adjust an operating frequency of the processing device. In one implementation a power controller may take the target and measured power consumption as inputs to generate a power output and a utilization controller may take the target and measured utilization ratios as inputs to generate a utilization output. The lower of the power output and the utilization output may be selected and used to adjust the operating frequency of the processing device. The power and utilization controllers may implement a proportional-integral control scheme.
    Type: Grant
    Filed: September 9, 2013
    Date of Patent: May 3, 2016
    Assignee: Apple Inc.
    Inventors: Jason Jane, Gokhan Avkarogullari, Eric Sunalp
  • Patent number: 9274859
    Abstract: A message exchange system for software components on different processors. A first component's attempt to load a write register with a message pointer (or a message itself) triggers a determination whether space exists in a shared memory queue. If so, the queue is updated by incrementing a message counter, writing the message/pointer into the queue where designated by a write pointer, and changing the write pointer to a next queue location. A second component's attempt to load the message/pointer from a read register triggers a determination whether there is at least one new message in the queue. If so, the queue is updated by decrementing the message counter, reading the message/pointer from the queue where designated by a read pointer, and changing the read pointer to point to a next queue location. The determinations and queue updates are performed atomically with respect to the software components.
    Type: Grant
    Filed: May 25, 2006
    Date of Patent: March 1, 2016
    Assignee: NVIDIA CORPORATION
    Inventor: Gokhan Avkarogullari
  • Patent number: 9250665
    Abstract: In one embodiment, a system includes a power management controller that controls a duty cycle of a processor to manage power. By frequently powering up and powering down the processor during a period of time, the power consumption of the processor may be controlled while providing the perception that the processor is continuously available. Additionally, in some cases, it may be a better power/performance tradeoff to run the processor at a higher power/performance state if the processor is executing for a significant portion of the execution interval (e.g. the frame time for a GPU). Executing at a higher power/performance state may permit a realization of a greater number of frames per second for a given workload, in an embodiment.
    Type: Grant
    Filed: August 27, 2012
    Date of Patent: February 2, 2016
    Assignee: Apple Inc.
    Inventors: Gokhan Avkarogullari, Patrick Y. Law, Michael J. Wyrzykowski
  • Publication number: 20150347105
    Abstract: Methods, systems and devices are disclosed to examine developer supplied graphics code and attributes at run-time. The graphics code designed for execution on a graphics processing unit (GPU) utilizing a coding language such as OpenCL or OpenGL which provides for run-time analysis by a driver, code generator, and compiler. Developer supplied code and attributes can be analyzed and altered based on the execution capabilities and performance criteria of a GPU on which the code is about to be executed. In general, reducing the number of developer defined work items or work groups can reduce the initialization cost of the GPU with respect to the work to be performed and result in an overall optimization of the machine code. Manipulation code can be added to adjust the supplied code in a manner similar to unrolling a loop to improve execution performance.
    Type: Application
    Filed: July 31, 2014
    Publication date: December 3, 2015
    Inventors: Gokhan Avkarogullari, Alexander K. Kan, Kelvin C. Chiu
  • Publication number: 20150348224
    Abstract: An innovative GPU framework and related APIs present more accurate representations of the target hardware so that the distinctions between the fixed-function and programmable features of the GPU are perceived by a developer. This permits a program and/or a graphics object generated or manipulated by the program to be understood as not just code, but machine states that are associated with the code. When such an object is defined, the definitional components requiring programmable GPU features can be compiled only once and reused repeatedly as needed. Similarly, when a state change is made, the state changes correspond to the state changes made on the hardware. Additionally, the creation of these immutable objects prevents a developer from inadvertently changing portions of the program or object that cause it to behave differently than intended.
    Type: Application
    Filed: September 30, 2014
    Publication date: December 3, 2015
    Inventors: Gokhan Avkarogullari, Eric O. Sunalp, Richard W. Schreyer, Alexander K. Kan
  • Patent number: 9129396
    Abstract: A display driving architecture that can include two graphics pipelines with an optional connection between them to provide a mirrored mode. In one embodiment, one of the two pipelines can be automatically configured (e.g. routed in one of a plurality of ways, such as routing to do color conversion) based upon the type of cable that is coupled to a connector of the one pipeline. In another embodiment, a connection of a cable can cause display information (e.g. resolutions of an external display) to be provided to an application which can select a display mode while one of the graphics pipelines is kept in a low power state.
    Type: Grant
    Filed: January 20, 2015
    Date of Patent: September 8, 2015
    Assignee: Apple Inc.
    Inventors: Gokhan Avkarogullari, John Harper, Joshua H. Shaffer, Roberto G. Yepez
  • Patent number: 9058224
    Abstract: A plurality of asynchronous command streams are established. A first command stream shares a common resource with a second command stream. A synchronization object is incorporated into the first command stream. A central server arbitrates serialization of the first and second command streams using the synchronization object. The central server arbitrates serialization without direct communication between the first and second command streams.
    Type: Grant
    Filed: June 3, 2011
    Date of Patent: June 16, 2015
    Assignee: Apple Inc.
    Inventors: Jeremy Sandmel, Kenneth Christian Dyke, Gokhan Avkarogullari, Richard Schreyer
  • Publication number: 20150138215
    Abstract: A display driving architecture that can include two graphics pipelines with an optional connection between them to provide a mirrored mode. In one embodiment, one of the two pipelines can be automatically configured (e.g. routed in one of a plurality of ways, such as routing to do color conversion) based upon the type of cable that is coupled to a connector of the one pipeline. In another embodiment, a connection of a cable can cause display information (e.g. resolutions of an external display) to be provided to an application which can select a display mode while one of the graphics pipelines is kept in a low power state.
    Type: Application
    Filed: January 20, 2015
    Publication date: May 21, 2015
    Inventors: Gokhan Avkarogullari, John Harper, Joshua H. Shaffer, Roberto G. Yepez