TRAP HANDLER ARCHITECTURE FOR A PARALLEL PROCESSING UNIT
First Claim
Patent Images
1. A method for handling a disruption event occurring during execution of a first thread group within a multiprocessor of a parallel processing subsystem residing within a computer system, the method comprising:
- receiving notification of the disruption event;
halting execution of all thread groups executing within the multiprocessor;
setting an error status register to indicate a type of the disruption event; and
setting, for each thread group, a program counter to point to a memory address of a trap handler code segment that comprises a software routine that configures the multiprocessor to handle the disruption event.
1 Assignment
0 Petitions
Accused Products
Abstract
A trap handler architecture is incorporated into a parallel processing subsystem such as a GPU. The trap handler architecture minimizes design complexity and verification efforts for concurrently executing threads by imposing a property that all thread groups associated with a streaming multi-processor are either all executing within their respective code segments or are all executing within the trap handler code segment.
72 Citations
23 Claims
-
1. A method for handling a disruption event occurring during execution of a first thread group within a multiprocessor of a parallel processing subsystem residing within a computer system, the method comprising:
-
receiving notification of the disruption event; halting execution of all thread groups executing within the multiprocessor; setting an error status register to indicate a type of the disruption event; and setting, for each thread group, a program counter to point to a memory address of a trap handler code segment that comprises a software routine that configures the multiprocessor to handle the disruption event. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A graphics processing unit (GPU) configured to handle a disruption event occurring during execution of a first thread group within a multiprocessor of the GPU, the GPU comprising:
-
a trap handler controller configured to perform the steps of receiving notification of the disruption event, halting execution of all thread groups executing within the multiprocessor, setting an error status register to indicate a type of the disruption event, and setting, for each thread group, a program counter to point to a memory address of a trap handler code segment that comprises a software routine that configures the multiprocessor to handle the disruption event; and a memory unit comprising the trap handler code segment including instructions, that when executed by the multiprocessor, performs the steps of requesting a value of the error status register, branching to a sub-segment in the trap handler code segment that comprises instructions for addressing the type of disruption event, and executing instructions in the sub-segment of the trap handler code segment to handle the disruption event. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17)
-
-
18. A computer-readable medium including trap handler instructions that, when executed by a multiprocessor of a parallel processing subsystem of a computer system, cause the multiprocessor to handle a disruption event occurring during execution of a first thread group within the multiprocessor by performing the steps of:
-
requesting a value of an error status register set by a trap handler controller to indicate a type of the disruption event; branching to a sub-segment in the trap handler instructions that comprises instructions for addressing the type of disruption event; and executing instructions in the sub-segment in the trap handler instructions to handle the disruption event. - View Dependent Claims (19, 20, 21, 22, 23)
-
Specification