US 11,715,174 B2
Compute cluster preemption within a general-purpose graphics processing unit
Murali Ramadoss, Folsom, CA (US); Balaji Vembu, Folsom, CA (US); Eric C. Samson, Folsom, CA (US); Kun Tian, Santa Clara, CA (US); David J. Cowperthwaite, Portland, OR (US); Altug Koker, El Dorado Hills, CA (US); Zhi Wang, Beijing (CN); Joydeep Ray, Folsom, CA (US); Subramaniam M. Maiyuran, Gold River, CA (US); and Abhishek R. Appu, El Dorado Hills, CA (US)
Assigned to Intel Corporation, Santa Clara, CA (US)
Filed by Intel Corporation, Santa Clara, CA (US)
Filed on Mar. 3, 2022, as Appl. No. 17/685,445.
Application 17/685,445 is a continuation of application No. 17/099,118, filed on Nov. 16, 2020, granted, now 11,270,406.
Application 17/099,118 is a continuation of application No. 16/545,308, filed on Aug. 20, 2019, granted, now 10,839,476, issued on Nov. 17, 2020.
Application 16/545,308 is a continuation of application No. 16/010,692, filed on Jun. 18, 2018, granted, now 10,460,417, issued on Oct. 29, 2019.
Application 16/010,692 is a continuation of application No. 15/482,809, filed on Apr. 9, 2017, granted, now 10,043,232, issued on Aug. 7, 2018.
Prior Publication US 2022/0245752 A1, Aug. 4, 2022
Int. Cl. G06T 1/20 (2006.01); G06F 9/48 (2006.01); G06F 11/07 (2006.01); G06F 9/50 (2006.01); G06F 9/38 (2018.01)
CPC G06T 1/20 (2013.01) [G06F 9/3887 (2013.01); G06F 9/4806 (2013.01); G06F 9/4843 (2013.01); G06F 9/4881 (2013.01); G06F 9/5083 (2013.01); G06F 9/5088 (2013.01); G06F 11/0793 (2013.01); G06F 2209/5017 (2013.01); G06T 2200/28 (2013.01); G06T 2210/52 (2013.01); Y02D 10/00 (2018.01)] 20 Claims
OG exemplary drawing
 
1. A method comprising:
receiving a notice that a first compute unit of a graphics processor is to be reset in response to detection of a fault associated with the first compute unit, the first compute unit including a plurality of processing elements to execute a plurality of threads of program code associated with a context executed by the graphics processor;
determining whether the context is recoverable;
in response to determining that the context is recoverable, migrating threads associated with the context to a second compute unit of the graphics processor;
in response to determining that the context executed by the first compute unit is not recoverable, re-dispatching the threads of the first compute unit that are associated with the context to the second compute unit; and
initiating a reset of the first compute unit while continuing thread execution via the second compute unit.