Patents by Inventor Kenneth C. Dyke
Kenneth C. Dyke 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: 10970223Abstract: Systems, apparatuses, and methods for efficiently allocating data in a cache are described. In various embodiments, a processor decodes an indication in a software application identifying a temporal data set. The data set is flagged with a data set identifier (DSID) indicating temporal data to drop after consumption. When the data set is allocated in a cache, the data set is stored with a non-replaceable attribute to prevent a cache replacement policy from evicting the data set before it is dropped. A drop command with an indication of the DSID of the data set is later issued after the data set is read (consumed). A copy of the data set is not written back to the lower-level memory although the data set is removed from the cache. An interrupt is generated to notify firmware or other software of the completion of the drop command.Type: GrantFiled: May 13, 2019Date of Patent: April 6, 2021Assignee: Apple Inc.Inventors: Wolfgang H. Klingauf, Kenneth C. Dyke, Karthik Ramani, Winnie W. Yeung, Anthony P. DeLaurier, Luc R. Semeria, David A. Gotwalt, Srinivasa Rangan Sridharan, Muditha Kanchana
-
Patent number: 10949944Abstract: Systems, computer readable media, and methods for a unified programming interface and language are disclosed. In one embodiment, the unified programming interface and language assists program developers write multi-threaded programs that can perform both graphics and data-parallel compute processing on GPUs. The same GPU programming language model can be used to describe both graphics shaders and compute kernels, and the same data structures and resources may be used for both graphics and compute operations. Developers can use multithreading efficiently to create and submit command buffers in parallel.Type: GrantFiled: April 22, 2019Date of Patent: March 16, 2021Assignee: Apple Inc.Inventors: Richard W. Schreyer, Kenneth C. Dyke, Alexander K. Kan
-
Patent number: 10747519Abstract: A compiler and library provide the ability to compile a programming language according to a defined language model into a programming language independent, machine independent intermediate representation, for conversion into an executable on a target programmable device. The language model allows writing programs that perform data-parallel graphics and non-graphics tasks.Type: GrantFiled: August 6, 2019Date of Patent: August 18, 2020Assignee: Apple Inc.Inventors: Aaftab A. Munshi, Kenneth C. Dyke, Rahul U. Joshi, Richard W. Schreyer
-
Publication number: 20190361687Abstract: A compiler and library provide the ability to compile a programming language according to a defined language model into a programming language independent, machine independent intermediate representation, for conversion into an executable on a target programmable device. The language model allows writing programs that perform data-parallel graphics and non-graphics tasks.Type: ApplicationFiled: August 6, 2019Publication date: November 28, 2019Inventors: Aaftab A. Munshi, Kenneth C. Dyke, Rahul U. Joshi, Richard W. Schreyer
-
Patent number: 10430169Abstract: A compiler and library provide the ability to compile a programming language according to a defined language model into a programming language independent, machine independent intermediate representation, for conversion into an executable on a target programmable device. The language model allows writing programs that perform data-parallel graphics and non-graphics tasks.Type: GrantFiled: February 20, 2015Date of Patent: October 1, 2019Assignee: Apple Inc.Inventors: Aaftab A. Munshi, Kenneth C. Dyke, Rahul U. Joshi, Richard W. Schreyer
-
Publication number: 20190266102Abstract: Systems, apparatuses, and methods for efficiently allocating data in a cache are described. In various embodiments, a processor decodes an indication in a software application identifying a temporal data set. The data set is flagged with a data set identifier (DSID) indicating temporal data to drop after consumption. When the data set is allocated in a cache, the data set is stored with a non-replaceable attribute to prevent a cache replacement policy from evicting the data set before it is dropped. A drop command with an indication of the DSID of the data set is later issued after the data set is read (consumed). A copy of the data set is not written back to the lower-level memory although the data set is removed from the cache. An interrupt is generated to notify firmware or other software of the completion of the drop command.Type: ApplicationFiled: May 13, 2019Publication date: August 29, 2019Inventors: Wolfgang H. Klingauf, Kenneth C. Dyke, Karthik Ramani, Winnie W. Yeung, Anthony P. DeLaurier, Luc R. Semeria, David A. Gotwalt, Srinivasa Rangan Sridharan, Muditha Kanchana
-
Publication number: 20190251656Abstract: Systems, computer readable media, and methods for a unified programming interface and language are disclosed. In one embodiment, the unified programming interface and language assists program developers write multi-threaded programs that can perform both graphics and data-parallel compute processing on GPUs. The same GPU programming language model can be used to describe both graphics shaders and compute kernels, and the same data structures and resources may be used for both graphics and compute operations. Developers can use multithreading efficiently to create and submit command buffers in parallel.Type: ApplicationFiled: April 22, 2019Publication date: August 15, 2019Inventors: Richard W. Schreyer, Kenneth C. Dyke, Alexander K. Kan
-
Patent number: 10346941Abstract: Systems, computer readable media, and methods for a unified programming interface and language are disclosed. In one embodiment, the unified programming interface and language assists program developers write multi-threaded programs that can perform both graphics and data-parallel compute processing on GPUs. The same GPU programming language model can be used to describe both graphics shaders and compute kernels, and the same data structures and resources may be used for both graphics and compute operations. Developers can use multithreading efficiently to create and submit command buffers in parallel.Type: GrantFiled: September 30, 2014Date of Patent: July 9, 2019Assignee: Apple Inc.Inventors: Richard W. Schreyer, Kenneth C. Dyke, Alexander K. Kan
-
Patent number: 10289565Abstract: Systems, apparatuses, and methods for efficiently allocating data in a cache are described. In various embodiments, a processor decodes an indication in a software application identifying a temporal data set. The data set is flagged with a data set identifier (DSID) indicating temporal data to drop after consumption. When the data set is allocated in a cache, the data set is stored with a non-replaceable attribute to prevent a cache replacement policy from evicting the data set before it is dropped. A drop command with an indication of the DSID of the data set is later issued after the data set is read (consumed). A copy of the data set is not written back to the lower-level memory although the data set is removed from the cache. An interrupt is generated to notify firmware or other software of the completion of the drop command.Type: GrantFiled: May 31, 2017Date of Patent: May 14, 2019Assignee: Apple Inc.Inventors: Wolfgang H. Klingauf, Kenneth C. Dyke, Karthik Ramani, Winnie W. Yeung, Anthony P. DeLaurier, Luc R. Semeria, David A. Gotwalt, Srinivasa Rangan Sridharan, Muditha Kanchana
-
Publication number: 20180349291Abstract: Systems, apparatuses, and methods for efficiently allocating data in a cache are described. In various embodiments, a processor decodes an indication in a software application identifying a temporal data set. The data set is flagged with a data set identifier (DSID) indicating temporal data to drop after consumption. When the data set is allocated in a cache, the data set is stored with a non-replaceable attribute to prevent a cache replacement policy from evicting the data set before it is dropped. A drop command with an indication of the DSID of the data set is later issued after the data set is read (consumed). A copy of the data set is not written back to the lower-level memory although the data set is removed from the cache. An interrupt is generated to notify firmware or other software of the completion of the drop command.Type: ApplicationFiled: May 31, 2017Publication date: December 6, 2018Inventors: Wolfgang H. Klingauf, Kenneth C. Dyke, Karthik Ramani, Winnie W. Yeung, Anthony P. DeLaurier, Luc R. Semeria, David A. Gotwalt, Srinivasa Rangan Sridharan, Muditha Kanchana
-
Patent number: 10031712Abstract: A computing system that supports the use of multiple displays in display mirroring mode and extended display mode may automatically determine a display mode in which to configure the system (with little or no user input) based on various characteristics of the displays in the system. For example, the system may determine that a television, projector, or other presentation type display is connected in the system, and in response, may determine that the system should be configured in a display mirroring mode, rather than in an extended display mode. The system may also determine that the presentation type display is the preferred display, and may render image content in a best (or preferred) mode for that display using its native resolution, aspect ratio or color profile. The system may then scale the rendered image content for display on other (non-preferred) displays, such as an internal display, without re-rendering it.Type: GrantFiled: January 23, 2017Date of Patent: July 24, 2018Assignee: Apple Inc.Inventors: Geoffrey G. Stahl, Ian C. Hendry, Kenneth C. Dyke, Patrick L. Coffman, Steve S. Ko, Nathaniel C. Begeman
-
Patent number: 9881353Abstract: Embodiments enable a graphics processor to more efficiently process graphics and compositing processing commands. In certain embodiments, a client application submits client graphics commands to a graphics driver. The client in certain embodiments can notify a window server that client graphics commands have been submitted. In response, the window server can generate compositing processing commands and provide these commands to the graphics driver. Advantageously, a graphics processor can execute the client graphics commands while the window server generates compositing processing commands. As a result, processing resource can be used more efficiently.Type: GrantFiled: August 14, 2014Date of Patent: January 30, 2018Assignee: Apple Inc.Inventors: John Harper, Kenneth C. Dyke
-
Patent number: 9864560Abstract: A data processing system composites graphics content, generated by an application program running on the data processing system, to generate image data. The data processing system stores the image data in a first framebuffer and displays an image generated from the image data in the first framebuffer on an internal display device of the data processing system. A scaler in the data processing system performs scaling operations on the image data in the first framebuffer, stores the scaled image data in a second framebuffer and displays an image generated from the scaled image data in the second framebuffer on an external display device coupled to the data processing system. The scaler performs the scaling operations asynchronously with respect to the compositing of the graphics content. The data processing system automatically mirrors the image on the external display device unless the application program is publishing additional graphics content for display on the external display device.Type: GrantFiled: July 19, 2016Date of Patent: January 9, 2018Assignee: Apple Inc.Inventors: John S. Harper, Kenneth C. Dyke, Jeremy Sandmel
-
Publication number: 20170131963Abstract: A computing system that supports the use of multiple displays in display mirroring mode and extended display mode may automatically determine a display mode in which to configure the system (with little or no user input) based on various characteristics of the displays in the system. For example, the system may determine that a television, projector, or other presentation type display is connected in the system, and in response, may determine that the system should be configured in a display mirroring mode, rather than in an extended display mode. The system may also determine that the presentation type display is the preferred display, and may render image content in a best (or preferred) mode for that display using its native resolution, aspect ratio or color profile. The system may then scale the rendered image content for display on other (non-preferred) displays, such as an internal display, without re-rendering it.Type: ApplicationFiled: January 23, 2017Publication date: May 11, 2017Applicant: Apple Inc.Inventors: Geoffrey G. Stahl, Ian C. Hendry, Kenneth C. Dyke, Patrick L. Coffman, Steve S. Ko, Nathaniel C. Begeman
-
Patent number: 9552187Abstract: A computing system that supports the use of multiple displays in display mirroring mode and extended display mode may automatically determine a display mode in which to configure the system (with little or no user input) based on various characteristics of the displays in the system. For example, the system may determine that a television, projector, or other presentation type display is connected in the system, and in response, may determine that the system should be configured in a display mirroring mode, rather than in an extended display mode. The system may also determine that the presentation type display is the preferred display, and may render image content in a best (or preferred) mode for that display using its native resolution, aspect ratio or color profile. The system may then scale the rendered image content for display on other (non-preferred) displays, such as an internal display, without re-rendering it.Type: GrantFiled: December 2, 2015Date of Patent: January 24, 2017Assignee: Apple Inc.Inventors: Geoffrey G. Stahl, Ian C. Hendry, Kenneth C. Dyke, Patrick L. Coffman, Steve S. Ko, Nathaniel C. Begeman
-
Publication number: 20170017452Abstract: A data processing system composites graphics content, generated by an application program running on the data processing system, to generate image data. The data processing system stores the image data in a first framebuffer and displays an image generated from the image data in the first framebuffer on an internal display device of the data processing system. A scaler in the data processing system performs scaling operations on the image data in the first framebuffer, stores the scaled image data in a second framebuffer and displays an image generated from the scaled image data in the second framebuffer on an external display device coupled to the data processing system. The scaler performs the scaling operations asynchronously with respect to the compositing of the graphics content. The data processing system automatically mirrors the image on the external display device unless the application program is publishing additional graphics content for display on the external display device.Type: ApplicationFiled: July 19, 2016Publication date: January 19, 2017Inventors: John S. Harper, Kenneth C. Dyke, Jeremy Sandmel
-
Patent number: 9489165Abstract: An operating system creates one or more virtual display interfaces for communication of display data and user input events between the application layer and one or more virtual display devices. The one or more virtual display devices are not physically connected to the computing system managed by the operating system. One or more applications are executed in an application layer. At least one of the one or more applications communicates display data to and receives user input events from at least one of the one or more display devices using at least one of the display interfaces. At least one other of the one or more applications communicates display data to and receives user input events from at least one of the one or more virtual display devices using at least one of the one or more virtual display interfaces.Type: GrantFiled: February 1, 2016Date of Patent: November 8, 2016Assignee: Apple Inc.Inventors: Christopher P. Wright, Kenneth C. Dyke, Assana M. Fard, Thomas W. Costa
-
Patent number: 9411550Abstract: A data processing system composites graphics content, generated by an application program running on the data processing system, to generate image data. The data processing system stores the image data in a first framebuffer and displays an image generated from the image data in the first framebuffer on an internal display device of the data processing system. A scaler in the data processing system performs scaling operations on the image data in the first framebuffer, stores the scaled image data in a second framebuffer and displays an image generated from the scaled image data in the second framebuffer on an external display device coupled to the data processing system. The scaler performs the scaling operations asynchronously with respect to the compositing of the graphics content. The data processing system automatically mirrors the image on the external display device unless the application program is publishing additional graphics content for display on the external display device.Type: GrantFiled: January 20, 2015Date of Patent: August 9, 2016Assignee: Apple Inc.Inventors: John S. Harper, Kenneth C. Dyke, Jeremy Sandmel
-
Publication number: 20160162249Abstract: A computing system that supports the use of multiple displays in display mirroring mode and extended display mode may automatically determine a display mode in which to configure the system (with little or no user input) based on various characteristics of the displays in the system. For example, the system may determine that a television, projector, or other presentation type display is connected in the system, and in response, may determine that the system should be configured in a display mirroring mode, rather than in an extended display mode. The system may also determine that the presentation type display is the preferred display, and may render image content in a best (or preferred) mode for that display using its native resolution, aspect ratio or color profile. The system may then scale the rendered image content for display on other (non-preferred) displays, such as an internal display, without re-rendering it.Type: ApplicationFiled: December 2, 2015Publication date: June 9, 2016Applicant: Apple Inc.Inventors: Geoffrey G. Stahl, Ian C. Hendry, Kenneth C. Dyke, Patrick L. Coffman, Steve S. Ko, Nathaniel C. Begeman
-
Publication number: 20160147494Abstract: An operating system creates one or more virtual display interfaces for communication of display data and user input events between the application layer and one or more virtual display devices. The one or more virtual display devices are not physically connected to the computing system managed by the operating system. One or more applications are executed in an application layer. At least one of the one or more applications communicates display data to and receives user input events from at least one of the one or more display devices using at least one of the display interfaces. At least one other of the one or more applications communicates display data to and receives user input events from at least one of the one or more virtual display devices using at least one of the one or more virtual display interfaces.Type: ApplicationFiled: February 1, 2016Publication date: May 26, 2016Inventors: Christopher P. Wright, Kenneth C. Dyke, Assana M. Fard, Thomas W. Costa