Jaffery Watson Mendonsa & Hamilton LLP
Compute cluster preemption within a general-purpose graphics processing unit
Embodiments described herein provide techniques enable a compute unit to continue processing operations when all dispatched threads are blocked. One embodiment provides for an apparatus comprising a thread dispatcher to dispatch a thread for execution; a compute unit having a single instruction, multiple thread architecture, the compute unit to execute multiple concurrent threads; and a memory coupled with the compute unit, the memory to store thread state for a suspended thread, wherein the compute unit is to: detect that all threads on the compute unit are blocked from execution, select a victim thread from the multiple concurrent threads, suspend the victim thread, store thread state of the victim thread to the memory, and replace the victim thread with an additional thread to be executed.
Intel Corporation
G G Y G G G G G G G G
G06F G06F Y02D G06F G06F G06T G06F G06F G06T G06F G06F
inventional additional additional inventional inventional additional inventional inventional inventional inventional inventional
Murali Zhi Subramaniam M. Balaji David J. Altug Kun Joydeep Abhishek R. Eric C.
Ramadoss Wang Maiyuran Vembu Cowperthwaite Koker Tian Ray Appu Samson