US 12,229,865 B2
Graphics processor with non-blocking concurrent architecture
Luke T. Peterson, San Francisco, CA (US); James A. McCombe, San Francisco, CA (US); Steven J. Clohset, San Francisco, CA (US); and Jason R. Redgrave, Mountain View, CA (US)
Assigned to Imagination Technologies Limited, Kings Langley (GB)
Filed by Imagination Technologies Limited, Kings Langley (GB)
Filed on Apr. 11, 2023, as Appl. No. 18/133,088.
Application 18/133,088 is a continuation of application No. 17/098,089, filed on Nov. 13, 2020, granted, now 11,625,885, issued on Apr. 11, 2023.
Application 17/098,089 is a continuation of application No. 15/219,860, filed on Jul. 26, 2016, granted, now 10,861,214, issued on Dec. 8, 2020.
Application 15/219,860 is a continuation of application No. 14/817,747, filed on Aug. 4, 2015, granted, now 9,430,811, issued on Aug. 30, 2016.
Application 14/817,747 is a continuation of application No. 14/230,093, filed on Mar. 31, 2014, granted, now 9,098,918, issued on Aug. 4, 2015.
Application 14/230,093 is a continuation of application No. 13/567,091, filed on Aug. 6, 2012, granted, now 8,692,834, issued on Apr. 8, 2014.
Application 13/567,091 is a continuation of application No. PCT/US2012/042591, filed on Jun. 15, 2012.
Claims priority of provisional application 61/497,915, filed on Jun. 16, 2011.
Prior Publication US 2023/0245374 A1, Aug. 3, 2023
Int. Cl. G06T 1/20 (2006.01); G06F 9/50 (2006.01); G06F 9/52 (2006.01); G06F 15/80 (2006.01); G06T 1/60 (2006.01); G06T 15/00 (2011.01); G06T 15/06 (2011.01)
CPC G06T 15/005 (2013.01) [G06F 9/5033 (2013.01); G06F 9/505 (2013.01); G06F 9/52 (2013.01); G06F 15/8007 (2013.01); G06T 1/20 (2013.01); G06T 1/60 (2013.01); G06T 15/06 (2013.01); G06T 2200/28 (2013.01)] 17 Claims
OG exemplary drawing
 
1. A computer-implemented method for processing workloads in a computer system comprising a plurality of computation elements, the method comprising:
receiving a plurality of fibres, each of the fibres comprising computer executable instructions, and each of the fibres having an associated priority;
identifying a scheduling key for each of the fibres;
grouping the fibres into one or more groups of fibres based on the identified scheduling key for each of the fibres;
determining a priority for each of the one or more groups of fibres based on the priority of the one or more fibres contained within that group; and
scheduling, for execution, the one or more groups of fibres based on the priority of each of the one or more groups of fibres.