Patents by Inventor David J. Cowperthwaite
David J. Cowperthwaite 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: 11768781Abstract: An apparatus and method are described for implementing memory management in a graphics processing system. For example, one embodiment of an apparatus comprises: a first plurality of graphics processing resources to execute graphics commands and process graphics data; a first memory management unit (MMU) to communicatively couple the first plurality of graphics processing resources to a system-level MMU to access a system memory; a second plurality of graphics processing resources to execute graphics commands and process graphics data; a second MMU to communicatively couple the second plurality of graphics processing resources to the first MMU; wherein the first MMU is configured as a master MMU having a direct connection to the system-level MMU and the second MMU comprises a slave MMU configured to send memory transactions to the first MMU, the first MMU either servicing a memory transaction or sending the memory transaction to the system-level MMU on behalf of the second MMU.Type: GrantFiled: May 27, 2022Date of Patent: September 26, 2023Assignee: Intel CorporationInventors: Niranjan L. Cooray, Abhishek R. Appu, Altug Koker, Joydeep Ray, Balaji Vembu, Pattabhiraman K, David Puffer, David J. Cowperthwaite, Rajesh M. Sankaran, Satyeshwar Singh, Sameer Kp, Ankur N. Shah, Kun Tian
-
Patent number: 11715174Abstract: Embodiments described herein provide techniques enable a graphics processor to continue processing operations during the reset of a compute unit that has experienced a hardware fault. Threads and associated context state for a faulted compute unit can be migrated to another compute unit of the graphics processor and the faulting compute unit can be reset while processing operations continue.Type: GrantFiled: March 3, 2022Date of Patent: August 1, 2023Assignee: Intel CorporationInventors: Murali Ramadoss, Balaji Vembu, Eric C. Samson, Kun Tian, David J. Cowperthwaite, Altug Koker, Zhi Wang, Joydeep Ray, Subramaniam M. Maiyuran, Abhishek R. Appu
-
Patent number: 11551400Abstract: A virtual reality apparatus and method are described for tile-based rendering. For example, one embodiment of an apparatus comprises: a set of on-chip geometry buffers including a first buffer to store geometry data, and a set of pointer buffers to store pointers to the geometry data; a tile-based immediate mode rendering (TBIMR) module to perform tile-based immediate mode rendering using geometry data and pointers stored within the set of on-chip geometry buffers; spill circuitry to determine when the on-chip geometry buffers are over-subscribed and responsively spill additional geometry data and/or pointers to an off-chip memory; and a prefetcher to start prefetching the geometry data from the off-chip memory as space becomes available within the on-chip geometry buffers, the TBIMR module to perform tile-based immediate mode rendering using the geometry data prefetched from the off-chip memory.Type: GrantFiled: October 16, 2020Date of Patent: January 10, 2023Assignee: INTEL CORPORATIONInventors: Prasoonkumar Surti, Tomas G. Akenine-Moller, David J. Cowperthwaite, Kun Tian, Peter L. Doyle, Brent E. Insko, Adam T. Lake
-
Publication number: 20220405876Abstract: An apparatus to facilitate partitioning of a graphics device is disclosed. The apparatus includes a plurality of engines and logic to partition the plurality of engines to facilitate independent access to each engine within the plurality of engines.Type: ApplicationFiled: May 6, 2022Publication date: December 22, 2022Applicant: Intel CorporationInventors: Abhishek R. Appu, Balaji Vembu, Altug Koker, Bryan R. White, David J. Cowperthwaite, Joydeep Ray, Murali Ramadoss
-
Patent number: 11514550Abstract: An apparatus and method for managing pipes and planes within a virtual graphics processing engine. For example, one embodiment of a graphics processing apparatus comprises: a graphics processor comprising one or more display pipes to render one or more display planes, each of the one or more display pipes comprising a set of graphics processing hardware resources for executing graphics commands and rendering graphics images in the one or more display planes; and pipe and plane management hardware logic to manage pipe and plane assignment, the pipe and plane management hardware logic to associate a first virtual machine (VM) with one or more virtual display planes and to maintain a mapping between the one or more virtual display planes and at least one physical display plane.Type: GrantFiled: June 30, 2020Date of Patent: November 29, 2022Assignee: INTEL CORPORATIONInventors: Yunbiao Lin, Changliang Wang, Satyanantha Ramagopal Musunuri, David Puffer, David J. Cowperthwaite, Bryan R. White, Balaji Vembu
-
Publication number: 20220334982Abstract: An apparatus and method are described for implementing memory management in a graphics processing system. For example, one embodiment of an apparatus comprises: a first plurality of graphics processing resources to execute graphics commands and process graphics data; a first memory management unit (MMU) to communicatively couple the first plurality of graphics processing resources to a system-level MMU to access a system memory; a second plurality of graphics processing resources to execute graphics commands and process graphics data; a second MMU to communicatively couple the second plurality of graphics processing resources to the first MMU; wherein the first MMU is configured as a master MMU having a direct connection to the system-level MMU and the second MMU comprises a slave MMU configured to send memory transactions to the first MMU, the first MMU either servicing a memory transaction or sending the memory transaction to the system-level MMU on behalf of the second MMU.Type: ApplicationFiled: May 27, 2022Publication date: October 20, 2022Inventors: NIRANJAN L. COORAY, ABHISHEK R. APPU, ALTUG KOKER, JOYDEEP RAY, BALAJI VEMBU, PATTABHIRAMAN K, DAVID PUFFER, DAVID J. COWPERTHWAITE, RAJESH M. SANKARAN, SATYESHWAR SINGH, SAMEER KP, ANKUR N. SHAH, KUN TIAN
-
Patent number: 11449396Abstract: In various embodiments, an apparatus includes a system-on-chip (SoC) to be disposed in a vehicle having a plurality of cores; a hypervisor arranged to partition the cores into at least two domains, an operational domain and a failover domain; a first operating system (OS) arranged to manage execution of at least a first application in the operational domain to provide a first plurality of functions for the vehicle; a second OS arranged to manage execution of at least a second application in the failover domain to provide a second plurality of functions for the vehicle, on occurrence of a failure of the first application. The second functions comprise a subset of the first functions or less embellished versions of some of the first functions, and the second OS has less capabilities than the first OS. Other embodiments, including storage media and methods, are also described and claimed.Type: GrantFiled: September 17, 2019Date of Patent: September 20, 2022Assignee: Intel CorporationInventors: Christopher Cormack, David J. Cowperthwaite, Matthew Curfman
-
Publication number: 20220245752Abstract: Embodiments described herein provide techniques enable a graphics processor to continue processing operations during the reset of a compute unit that has experienced a hardware fault. Threads and associated context state for a faulted compute unit can be migrated to another compute unit of the graphics processor and the faulting compute unit can be reset while processing operations continue.Type: ApplicationFiled: March 3, 2022Publication date: August 4, 2022Applicant: Intel CorporationInventors: Murali Ramadoss, Balaji Vembu, Eric C. Samson, Kun Tian, David J. Cowperthwaite, Altug Koker, Zhi Wang, Joydeep Ray, Subramaniam M. Maiyuran, Abhishek R. Appu
-
Patent number: 11360914Abstract: An apparatus and method are described for implementing memory management in a graphics processing system. For example, one embodiment of an apparatus comprises: a first plurality of graphics processing resources to execute graphics commands and process graphics data; a first memory management unit (MMU) to communicatively couple the first plurality of graphics processing resources to a system-level MMU to access a system memory; a second plurality of graphics processing resources to execute graphics commands and process graphics data; a second MMU to communicatively couple the second plurality of graphics processing resources to the first MMU; wherein the first MMU is configured as a master MMU having a direct connection to the system-level MMU and the second MMU comprises a slave MMU configured to send memory transactions to the first MMU, the first MMU either servicing a memory transaction or sending the memory transaction to the system-level MMU on behalf of the second MMU.Type: GrantFiled: September 1, 2020Date of Patent: June 14, 2022Assignee: Intel CorporationInventors: Niranjan L. Cooray, Abhishek R. Appu, Altug Koker, Joydeep Ray, Balaji Vembu, Pattabhiraman K, David Puffer, David J. Cowperthwaite, Rajesh M. Sankaran, Satyeshwar Singh, Sameer Kp, Ankur N. Shah, Kun Tian
-
Patent number: 11341600Abstract: An apparatus to facilitate partitioning of a graphics device is disclosed. The apparatus includes a plurality of engines and logic to partition the plurality of engines to facilitate independent access to each engine within the plurality of engines.Type: GrantFiled: November 13, 2019Date of Patent: May 24, 2022Assignee: Intel CorporationInventors: Abhishek R. Appu, Balaji Vembu, Altug Koker, Bryan R. White, David J. Cowperthwaite, Joydeep Ray, Murali Ramadoss
-
Patent number: 11270406Abstract: Embodiments described herein provide techniques enable a compute unit to continue processing operations when all dispatched threads are blocked. One embodiment provides for a method comprising executing multiple concurrent threads on a processing resource of a graphics processor, during execution, detecting that each of the multiple concurrent threads of the processing resource are blocked from execution, selecting a victim thread from the multiple concurrent threads, and suspending the victim thread. The thread state is stored to a thread scratch space in memory along with a blocking event associated with the victim thread.Type: GrantFiled: November 16, 2020Date of Patent: March 8, 2022Assignee: Intel CorporationInventors: Murali Ramadoss, Balaji Vembu, Eric C. Samson, Kun Tian, David J. Cowperthwaite, Altug Koker, Zhi Wang, Joydeep Ray, Subramaniam M. Maiyuran, Abhishek R. Appu
-
Patent number: 11232536Abstract: An apparatus to facilitate data prefetching is disclosed. The apparatus includes a memory, one or more execution units (EUs) to execute a plurality of processing threads and prefetch logic to prefetch pages of data from the memory to assist in the execution of the plurality of processing threads.Type: GrantFiled: February 14, 2020Date of Patent: January 25, 2022Assignee: INTEL CORPORATIONInventors: Adam T. Lake, Guei-Yuan Lueh, Balaji Vembu, Murali Ramadoss, Prasoonkumar Surti, Abhishek R. Appu, Altug Koker, Subramaniam M. Maiyuran, Eric C. Samson, David J. Cowperthwaite, Zhi Wang, Kun Tian, David Puffer, Brian T. Lewis
-
Publication number: 20210173720Abstract: Apparatuses, methods and storage medium associated with embedded computing, are disclosed herein. In embodiments, an embedded computing platform includes an orchestration scheduler configured to receive live execution telemetry data of various applications executing at the various local compute clusters of the embedded computing platform, as well as the status (availability) of accelerate compute resources of the local compute clusters, and in response, dynamically map selected tasks of applications to any accelerate resource in any of the local compute clusters. The computing platform further includes orchestration agents to respectively collect and provide live execution telemetry data of the applications executing in corresponding ones of the local compute clusters and their resource needs to the orchestration scheduler. Other embodiments are also described and claimed.Type: ApplicationFiled: July 31, 2019Publication date: June 10, 2021Inventors: Christopher CORMACK, David J. COWPERTHWAITE, Nicolas GALOPPO VON BORRIES, Janet TSENG, David ZAGE
-
Publication number: 20210173705Abstract: Apparatuses, methods and storage medium associated with computing, are disclosed herein. In embodiments, a computing platform includes a plurality of System-on-Chips (SoCs) to form a corresponding plurality of local compute clusters, and an orchestration scheduler configured to receive class information of various applications, and in response, dynamically schedule different combinations of applications of different classes for execution at different ones of the local compute clusters. Other embodiments are also described and claimed.Type: ApplicationFiled: July 31, 2019Publication date: June 10, 2021Inventors: Christopher CORMACK, David J. COWPERTHWAITE, David ZAGE
-
Publication number: 20210158471Abstract: Embodiments described herein provide techniques enable a compute unit to continue processing operations when all dispatched threads are blocked. One embodiment provides for a method comprising executing multiple concurrent threads on a processing resource of a graphics processor, during execution, detecting that each of the multiple concurrent threads of the processing resource are blocked from execution, selecting a victim thread from the multiple concurrent threads, and suspending the victim thread. The thread state is stored to a thread scratch space in memory along with a blocking event associated with the victim thread.Type: ApplicationFiled: November 16, 2020Publication date: May 27, 2021Applicant: Intel CorporationInventors: Murali Ramadoss, Balaji Vembu, Eric C. Samson, Kun Tian, David J. Cowperthwaite, Altug Koker, Zhi Wang, Joydeep Ray, Subramaniam M. Maiyuran, Abhishek R. Appu
-
Publication number: 20210056051Abstract: An apparatus and method are described for implementing memory management in a graphics processing system. For example, one embodiment of an apparatus comprises: a first plurality of graphics processing resources to execute graphics commands and process graphics data; a first memory management unit (MMU) to communicatively couple the first plurality of graphics processing resources to a system-level MMU to access a system memory; a second plurality of graphics processing resources to execute graphics commands and process graphics data; a second MMU to communicatively couple the second plurality of graphics processing resources to the first MMU; wherein the first MMU is configured as a master MMU having a direct connection to the system-level MMU and the second MMU comprises a slave MMU configured to send memory transactions to the first MMU, the first MMU either servicing a memory transaction or sending the memory transaction to the system-level MMU on behalf of the second MMU.Type: ApplicationFiled: September 1, 2020Publication date: February 25, 2021Inventors: NIRANJAN L. COORAY, ABHISHEK R. APPU, ALTUG KOKER, JOYDEEP RAY, BALAJI VEMBU, PATTABHIRAMAN K, DAVID PUFFER, DAVID J. COWPERTHWAITE, RAJESH M. SANKARAN, SATYESHWAR SINGH, SAMEER KP, ANKUR N. SHAH, KUN TIAN
-
Publication number: 20210035348Abstract: A virtual reality apparatus and method are described for tile-based rendering. For example, one embodiment of an apparatus comprises: a set of on-chip geometry buffers including a first buffer to store geometry data, and a set of pointer buffers to store pointers to the geometry data; a tile-based immediate mode rendering (TBIMR) module to perform tile-based immediate mode rendering using geometry data and pointers stored within the set of on-chip geometry buffers; spill circuitry to determine when the on-chip geometry buffers are over-subscribed and responsively spill additional geometry data and/or pointers to an off-chip memory; and a prefetcher to start prefetching the geometry data from the off-chip memory as space becomes available within the on-chip geometry buffers, the TBIMR module to perform tile-based immediate mode rendering using the geometry data prefetched from the off-chip memory.Type: ApplicationFiled: October 16, 2020Publication date: February 4, 2021Inventors: Prasoonkumar SURTI, Tomas G. AKENINE-MOLLER, David J. COWPERTHWAITE, Kun TIAN, Peter L. DOYLE, Brent E. INSKO, Adam T. LAKE
-
Publication number: 20200394749Abstract: An apparatus and method for managing pipes and planes within a virtual graphics processing engine. For example, one embodiment of a graphics processing apparatus comprises: a graphics processor comprising one or more display pipes to render one or more display planes, each of the one or more display pipes comprising a set of graphics processing hardware resources for executing graphics commands and rendering graphics images in the one or more display planes; and pipe and plane management hardware logic to manage pipe and plane assignment, the pipe and plane management hardware logic to associate a first virtual machine (VM) with one or more virtual display planes and to maintain a mapping between the one or more virtual display planes and at least one physical display plane.Type: ApplicationFiled: June 30, 2020Publication date: December 17, 2020Inventors: Yunbiao LIN, Changliang WANG, Satyanantha Ramagopal MUSUNURI, David PUFFER, David J. COWPERTHWAITE, Bryan R. WHITE, Balaji VEMBU
-
Patent number: 10839476Abstract: Embodiments described herein provide techniques enable a compute unit to continue processing operations when all dispatched threads are blocked. One embodiment provides for a graphics processor comprising a compute unit to execute multiple concurrent threads and a memory coupled with and on a same package as the compute unit. The memory can store thread state for a suspended thread and the compute unit can detect that multiple concurrent threads of the compute unit are blocked from execution. Upon detection, the compute unit can select a victim thread from the multiple concurrent threads, suspend the victim thread, store thread state of the victim thread to the memory, and select an additional thread to be executed. The compute unit can then replace the victim thread with an additional thread to be executed. The additional thread to be executed can be based on a blocking event for the additional thread.Type: GrantFiled: August 20, 2019Date of Patent: November 17, 2020Assignee: Intel CorporationInventors: Murali Ramadoss, Balaji Vembu, Eric C. Samson, Kun Tian, David J. Cowperthwaite, Altug Koker, Zhi Wang, Joydeep Ray, Subramaniam M. Maiyuran, Abhishek R. Appu
-
Patent number: 10776156Abstract: A processing apparatus is described. The apparatus includes a graphics processing unit (GPU), including a thread dispatcher to assign a priority class to each of a plurality of processing threads prior to dispatching the one or more processing threads, a plurality of execution units to process the threads, a shared resource coupled to each of the plurality of execution units and an arbitration unit to grant access to the shared resource to a first of the plurality of execution units based on the priority class of a thread being executed at the first execution unit.Type: GrantFiled: September 30, 2016Date of Patent: September 15, 2020Assignee: INTEL CORPORATIONInventors: Altug Koker, Prasoonkumar Surti, Guei-Yuan Lueh, Subramaniam Maiyuran, Tomas G. Akenine-Moller, David J. Cowperthwaite, Balaji Vembu