-
公开(公告)号:US12153957B2
公开(公告)日:2024-11-26
申请号:US17957714
申请日:2022-09-30
Applicant: ADVANCED MICRO DEVICES, INC.
Inventor: Matthaeus G. Chajdas , Christopher J. Brennan , Michael Mantor , Robert W. Martin , Nicolai Haehnle
IPC: G06F9/48
Abstract: A method for hierarchical work scheduling includes consuming a work item at a first scheduling domain having a local scheduler circuit and one or more workgroup processing elements. Consuming the work item produces a set of new work items. Subsequently, the local scheduler circuit distributes at least one new work item of the set of new work items to be executed locally at the first scheduling domain. If the local scheduler circuit of the first scheduling domain determines that the set of new work items includes one or more work items that would overload the first scheduling domain with work if scheduled for local execution, those work items are distributed to the next higher-level scheduler circuit in a scheduling domain hierarchy for redistribution to one or more other scheduling domains.
-
公开(公告)号:US20250068464A1
公开(公告)日:2025-02-27
申请号:US18940931
申请日:2024-11-08
Applicant: ADVANCED MICRO DEVICES, INC.
Inventor: Matthaeus G. Chajdas , Christopher J. Brennan , Michael Mantor , Robert W. Martin , Nicolai Haehnle
IPC: G06F9/48
Abstract: A method for hierarchical work scheduling includes consuming a work item at a first scheduling domain having a local scheduler circuit and one or more workgroup processing elements. Consuming the work item produces a set of new work items. Subsequently, the local scheduler circuit distributes at least one new work item of the set of new work items to be executed locally at the first scheduling domain. If the local scheduler circuit of the first scheduling domain determines that the set of new work items includes one or more work items that would overload the first scheduling domain with work if scheduled for local execution, those work items are distributed to the next higher-level scheduler circuit in a scheduling domain hierarchy for redistribution to one or more other scheduling domains.
-
公开(公告)号:US20240111578A1
公开(公告)日:2024-04-04
申请号:US17957714
申请日:2022-09-30
Applicant: ADVANCED MICRO DEVICES, INC.
Inventor: Matthaeus G. Chajdas , Christopher J. Brennan , Michael Mantor , Robert W. Martin , Nicolai Haehnle
IPC: G06F9/48
CPC classification number: G06F9/4881
Abstract: A method for hierarchical work scheduling includes consuming a work item at a first scheduling domain having a local scheduler circuit and one or more workgroup processing elements. Consuming the work item produces a set of new work items. Subsequently, the local scheduler circuit distributes at least one new work item of the set of new work items to be executed locally at the first scheduling domain. If the local scheduler circuit of the first scheduling domain determines that the set of new work items includes one or more work items that would overload the first scheduling domain with work if scheduled for local execution, those work items are distributed to the next higher-level scheduler circuit in a scheduling domain hierarchy for redistribution to one or more other scheduling domains.
-
公开(公告)号:US10802806B1
公开(公告)日:2020-10-13
申请号:US16370079
申请日:2019-03-29
Applicant: Advanced Micro Devices, Inc.
Inventor: Nicolai Haehnle
IPC: G06F9/45 , G06F8/41 , G06F8/30 , G06F16/951 , G06F16/901
Abstract: A reconverging control flow graph is generated by receiving an input control flow graph including a plurality of basic code blocks, determining an order of the basic code blocks, and traversing the input control flow graph. The input control flow graph is traversed by, for each basic code block B of the plurality of basic code blocks, according to the determined order of the basic code blocks, visiting the basic code block B prior to visiting a subsequent block C of the plurality of basic code blocks, and based on determining that the basic code block B has a prior block A and that the prior block A has an open edge AC to the subsequent block C, in the reconverging control flow graph, creating an edge AF between the prior block A and a flow block F1, and creating an edge FC between the flow block F1 and the subsequent block C.
-
公开(公告)号:US20240311199A1
公开(公告)日:2024-09-19
申请号:US18120646
申请日:2023-03-13
Applicant: Advanced MICRO DEVICES, INC.
Inventor: Nicolai Haehnle , Mark Leather , Brian Emberling , Michael John Bedy , Daniel Schneider
Abstract: A program code executing on a processing system includes one or more instructions each identifying a workload that includes a plurality of waves and each identifying resource allocations for the plurality of waves of the workgroup. In response to receiving an instruction identifying a workload and resource allocations for the plurality of waves of the workgroup, a processor allocates a first set of processing resources to a compute unit of the processor based on the resource allocations for the plurality of waves. The compute unit then performs operations for the workgroup using the allocated set of processing resources.
-
公开(公告)号:US11455153B2
公开(公告)日:2022-09-27
申请号:US16544796
申请日:2019-08-19
Applicant: Advanced Micro Devices, Inc.
Inventor: Nicolai Haehnle
IPC: G06F8/41
Abstract: A computing system includes a processor and a memory storing instructions for a compiler that, when executed by the processor, cause the processor to generate a control flow graph of program source code by receiving the program source code in the compiler, in the compiler, generating a structure point representation based on the received program source code by inserting into the program source code a set of structure points including an anchor structure point and a join structure point associated with the anchor structure point, and based on the structure point representation, generating the control flow graph including a plurality of blocks each representing a portion of the program source code. In the control flow graph, a block A between the anchor structure point and the join structure point post-dominates each of the one or more divergent branches between the anchor structure point and the join structure point.
-
公开(公告)号:US20200310766A1
公开(公告)日:2020-10-01
申请号:US16370079
申请日:2019-03-29
Applicant: Advanced Micro Devices, Inc.
Inventor: Nicolai Haehnle
IPC: G06F8/41
Abstract: A reconverging control flow graph is generated by receiving an input control flow graph including a plurality of basic code blocks, determining an order of the basic code blocks, and traversing the input control flow graph. The input control flow graph is traversed by, for each basic code block B of the plurality of basic code blocks, according to the determined order of the basic code blocks, visiting the basic code block B prior to visiting a subsequent block C of the plurality of basic code blocks, and based on determining that the basic code block B has a prior block A and that the prior block A has an open edge AC to the subsequent block C, in the reconverging control flow graph, creating an edge AF between the prior block A and a flow block F1, and creating an edge FC between the flow block F1 and the subsequent block C.
-
公开(公告)号:US20200301681A1
公开(公告)日:2020-09-24
申请号:US16544796
申请日:2019-08-19
Applicant: Advanced Micro Devices, Inc.
Inventor: Nicolai Haehnle
IPC: G06F8/41
Abstract: A computing system includes a processor and a memory storing instructions for a compiler that, when executed by the processor, cause the processor to generate a control flow graph of program source code by receiving the program source code in the compiler, in the compiler, generating a structure point representation based on the received program source code by inserting into the program source code a set of structure points including an anchor structure point and a join structure point associated with the anchor structure point, and based on the structure point representation, generating the control flow graph including a plurality of blocks each representing a portion of the program source code. In the control flow graph, a block A between the anchor structure point and the join structure point post-dominates each of the one or more divergent branches between the anchor structure point and the join structure point.
-
-
-
-
-
-
-