Patents by Inventor Eric O. Sunalp

Eric O. Sunalp 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: 10628909
    Abstract: A Resource Dependency Viewer for graphics processing unit (GPU) execution information is disclosed. The Resource Dependency Viewer provides profiling/debugging information concurrently with information about execution flow, resource utilization, execution statistics, and orphaned resources, among other things. A user-interactive graph (“dependency graph”) may be provided via a graphical user interface to allow interactive analysis of code executed on a GPU (e.g., graphics or compute code). Resource utilization and execution flow of encoders may be identified by analyzing contents of a GPU workload representative of a GPU execution trace to generate the dependency graph. Information about dependencies and execution statistics may be further analyzed using heuristics to identify potential problem areas. The dependency graph may include visual indicators of these problem areas.
    Type: Grant
    Filed: June 1, 2018
    Date of Patent: April 21, 2020
    Assignee: Apple Inc.
    Inventors: Ohad Frenkel, Eric O. Sunalp, Dustin J. Greene, Alp Yucebilgin, Domenico Troiano, Maximilian Christ, Andrew M. Sowerby, Lionel Lemarie, Sebastian Schaefer
  • Publication number: 20190370927
    Abstract: A Resource Dependency Viewer for graphics processing unit (GPU) execution information is disclosed. The Resource Dependency Viewer provides profiling/debugging information concurrently with information about execution flow, resource utilization, execution statistics, and orphaned resources, among other things. A user-interactive graph (“dependency graph”) may be provided via a graphical user interface to allow interactive analysis of code executed on a GPU (e.g., graphics or compute code). Resource utilization and execution flow of encoders may be identified by analyzing contents of a GPU workload representative of a GPU execution trace to generate the dependency graph. Information about dependencies and execution statistics may be further analyzed using heuristics to identify potential problem areas. The dependency graph may include visual indicators of these problem areas.
    Type: Application
    Filed: June 1, 2018
    Publication date: December 5, 2019
    Inventors: Ohad Frenkel, Eric O. Sunalp, Dustin J. Greene, Alp Yucebilgin, Domenico Troiano, Maximilian Christ, Andrew M. Sowerby, Lionel Lemarie, Sebastian Schaefer
  • Patent number: 10304215
    Abstract: Described is a system that processes texture assets for an application to be distributed across a range of devices while still leveraging device-specific hardware capabilities. In one embodiment, the system processes various criteria and determines specialized texture asset variants for a set of devices. These criteria may include various selected options including an interpretation selection for interpreting a source image for a texture, and device trait options such as device type, memory, and software support. In addition, the system may create mipmaps based on attributes of a set of target devices. Accordingly, a set of specialized texture assets may be created and distributed across a suite of devices.
    Type: Grant
    Filed: June 10, 2016
    Date of Patent: May 28, 2019
    Assignee: Apple Inc.
    Inventors: Daniel I. Omachi, Patrick O. Heynen, Eric O. Sunalp
  • Publication number: 20170358110
    Abstract: Described is a system that processes texture assets for an application to be distributed across a range of devices while still leveraging device-specific hardware capabilities. In one embodiment, the system processes various criteria and determines specialized texture asset variants for a set of devices. These criteria may include various selected options including an interpretation selection for interpreting a source image for a texture, and device trait options such as device type, memory, and software support. In addition, the system may create mipmaps based on attributes of a set of target devices. Accordingly, a set of specialized texture assets may be created and distributed across a suite of devices.
    Type: Application
    Filed: June 10, 2016
    Publication date: December 14, 2017
    Inventors: Daniel I. Omachi, Patrick O. Heynen, Eric O. Sunalp
  • Publication number: 20170357493
    Abstract: Described is a system that processes texture assets for an application to be distributed across a range of devices while still leveraging device-specific hardware capabilities. In one embodiment, the system processes various criteria and determines specialized texture asset variants for a set of devices. These criteria may include various selected options including an interpretation selection for interpreting a source image for a texture, and device trait options such as device type, memory, and software support. In addition, the system may create mipmaps based on attributes of a set of target devices. Accordingly, a set of specialized texture assets may be created and distributed across a suite of devices.
    Type: Application
    Filed: June 10, 2016
    Publication date: December 14, 2017
    Inventors: Daniel I. Omachi, Patrick O. Heynen, Eric O. Sunalp
  • Patent number: 9747659
    Abstract: Embodiments are directed toward systems and methods for scheduling resources of a graphics processing unit that determine, for a number of applications having commands to be issued to the GPU, a static priority level and a dynamic priority level of each application, work iteratively across static priority levels until a resource budget of the GPU is consumed, and starting with a highest static priority identify the applications in a present static priority level, assign a processing budget of the GPU to each of the applications in the present static priority level according to their dynamic priority levels, and admit to a queue commands from the applications in the present static priority level according to their processing budgets, and release the queue to the GPU.
    Type: Grant
    Filed: September 11, 2015
    Date of Patent: August 29, 2017
    Assignee: Apple Inc.
    Inventors: Kutty Banerjee, Eric O. Sunalp, Tatsuya Iwamoto
  • Publication number: 20160358305
    Abstract: Embodiments are directed toward systems and methods for scheduling resources of a graphics processing unit that determine, for a number of applications having commands to be issued to the GPU, a static priority level and a dynamic priority level of each application, work iteratively across static priority levels until a resource budget of the GPU is consumed, and starting with a highest static priority identify the applications in a present static priority level, assign a processing budget of the GPU to each of the applications in the present static priority level according to their dynamic priority levels, and admit to a queue commands from the applications in the present static priority level according to their processing budgets, and release the queue to the GPU.
    Type: Application
    Filed: September 11, 2015
    Publication date: December 8, 2016
    Inventors: Kutty Banerjee, Eric O. Sunalp, Tatsuya Iwamoto
  • 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