Austin Kerbow
89503bda38
[AMDGPU] Add structural stall heuristic to scheduling strategies ( #169617 )
...
Implements a structural stall heuristic that considers both resource
hazards and latency constraints when selecting instructions. In coexec,
this changes the pending queue from a binary “not ready to issue”
distinction into part of a unified candidate comparison. Pending
instructions still identify structural stalls in the current cycle, but
they are now evaluated directly against available instructions by stall
cost, making the heuristics both more intuitive and more expressive.
- Add getStructuralStallCycles() to GCNSchedStrategy that computes the
number of cycles an instruction must wait due to:
- Resource conflicts on unbuffered resources (from the SchedModel)
- Sequence-dependent hazards (from GCNHazardRecognizer)
- Add getHazardWaitStates() to GCNHazardRecognizer that returns the
number
of wait states until all hazards for an instruction are resolved,
providing cycle-accurate hazard information for scheduling heuristics.
2026-03-23 11:33:43 -07:00
..
2026-03-12 13:49:52 +01:00
2026-03-11 17:05:18 +01:00
2026-02-12 09:17:02 +01:00
2026-03-20 13:26:57 +00:00
2025-06-17 13:28:45 -07:00
2026-03-20 09:52:05 +00:00
2026-03-09 15:14:03 -04:00
2026-03-20 17:04:17 +01:00
2025-11-14 11:00:57 +00:00
2026-03-13 21:51:38 +00:00
2026-02-23 18:47:01 +05:30
2026-02-23 18:47:01 +05:30
2025-12-09 12:02:39 +01:00
2026-03-18 20:29:47 +00:00
2026-03-18 20:29:47 +00:00
2026-03-13 21:51:38 +00:00
2025-09-15 15:04:33 -04:00
2026-03-09 15:14:03 -04:00
2026-01-27 10:24:05 +09:00
2025-11-19 17:49:14 +09:00
2026-01-22 18:34:06 +00:00
2026-03-18 20:29:47 +00:00
2026-03-17 12:38:25 +00:00
2026-03-17 17:08:16 +00:00
2026-03-23 11:33:43 -07:00
2026-03-23 11:33:43 -07:00
2025-10-24 17:25:00 +02:00
2026-01-30 09:18:40 +08:00
2025-08-20 17:32:29 +02:00
2026-02-23 17:04:49 +01:00
2025-05-24 14:48:46 -07:00
2026-03-05 10:58:42 +01:00
2026-03-23 16:55:53 +01:00
2026-03-17 10:19:15 +01:00
2025-07-23 16:47:00 +02:00
2025-07-23 16:47:00 +02:00
2026-02-03 11:10:28 +09:00
2026-02-03 11:10:28 +09:00
2026-03-01 21:29:55 +00:00
2025-10-25 06:23:43 -07:00
2026-03-19 16:08:56 +00:00
2025-11-08 20:42:00 +00:00
2026-02-11 19:14:54 +00:00
2026-03-17 16:37:56 -04:00
2025-12-02 16:19:46 +00:00
2026-03-19 13:15:18 +00:00
2026-02-09 09:57:27 +01:00
2026-02-06 14:39:13 +00:00
2026-03-23 16:55:53 +01:00
2026-03-23 16:55:53 +01:00
2026-03-23 16:55:53 +01:00
2026-03-23 16:55:53 +01:00
2026-03-20 13:15:40 +00:00
2026-03-18 20:29:47 +00:00
2026-02-27 10:37:44 +00:00
2025-12-15 12:04:33 -05:00
2026-03-18 20:29:47 +00:00
2026-03-12 10:03:44 -07:00
2026-03-09 10:22:47 +00:00
2026-02-20 15:07:19 -08:00
2026-02-19 11:49:32 +01:00
2026-03-18 09:35:49 +01:00
2026-01-22 13:55:53 -05:00
2025-09-16 14:49:48 -07:00
2026-01-20 16:39:08 +00:00
2026-03-16 23:31:32 +01:00
2026-03-19 16:08:56 +00:00
2026-03-19 15:36:37 +00:00
2025-09-05 00:07:47 -07:00
2026-03-18 20:29:47 +00:00
2026-03-18 20:29:47 +00:00
2025-09-10 11:41:43 +02:00
2025-09-10 11:41:43 +02:00
2026-02-08 16:54:51 +00:00
2026-03-18 20:29:47 +00:00
2026-03-17 17:08:16 +00:00
2026-03-10 01:03:27 -07:00
2025-08-19 16:42:31 -07:00
2026-01-22 13:55:53 -05:00
2025-11-25 15:43:18 +00:00
2026-01-31 10:46:59 -08:00
2026-01-31 10:46:59 -08:00
2026-03-09 15:14:03 -04:00
2025-08-22 10:33:46 -07:00
2025-11-02 17:16:47 -08:00
2026-01-13 11:52:46 -05:00
2025-11-14 11:00:57 +00:00
2025-08-14 16:29:53 -07:00
2025-11-14 11:00:57 +00:00
2026-02-06 09:05:14 -08:00
2025-07-18 17:15:38 +09:00
2026-02-26 17:18:36 +01:00
2026-02-28 10:32:36 -05:00
2026-01-28 10:22:22 +00:00
2026-03-06 14:01:50 +01:00
2026-03-19 11:12:29 -07:00
2026-03-16 10:21:47 -07:00
2026-03-23 11:01:46 -07:00
2026-03-19 11:12:29 -07:00
2025-05-23 08:30:29 -07:00
2026-03-12 12:32:56 +01:00
2025-11-11 15:07:59 -08:00
2026-02-20 07:59:10 -07:00
2025-05-24 14:48:46 -07:00
2025-12-29 19:08:08 +01:00
2025-08-19 16:42:31 -07:00
2026-02-08 16:54:51 +00:00
2025-11-14 11:00:57 +00:00
2026-03-17 08:30:27 -07:00
2025-11-17 00:10:07 +00:00
2025-11-17 00:10:07 +00:00
2025-08-18 07:01:29 -07:00
2026-03-19 10:51:39 -05:00
2026-03-03 21:58:12 +01:00
2026-03-05 10:58:42 +01:00
2026-02-13 15:10:42 +01:00
2026-03-23 09:30:01 -07:00
2026-03-23 09:30:01 -07:00
2026-03-23 12:18:11 +01:00
2026-03-23 12:18:11 +01:00
2026-02-06 09:05:14 -08:00
2026-03-13 21:51:38 +00:00
2026-01-31 10:46:59 -08:00
2026-02-11 05:26:58 +00:00
2026-03-23 09:30:01 -07:00
2026-02-17 09:25:14 +01:00
2026-03-20 20:31:29 +01:00
2025-12-05 12:39:50 +00:00
2026-02-19 08:46:50 +01:00
2026-03-05 14:24:44 +01:00
2026-01-30 15:13:33 +00:00
2026-01-23 00:19:03 -08:00
2025-05-23 08:30:29 -07:00
2026-03-23 11:33:43 -07:00
2026-03-23 11:33:43 -07:00
2026-02-02 09:15:48 -06:00
2025-04-11 15:34:49 -07:00
2026-02-06 09:05:14 -08:00
2026-02-06 09:05:14 -08:00
2026-02-06 09:05:14 -08:00
2026-02-25 13:34:48 -08:00
2026-02-27 15:21:45 +01:00
2026-02-27 15:21:45 +01:00
2026-02-19 12:39:11 -08:00
2026-03-23 11:33:43 -07:00
2026-03-23 11:33:43 -07:00
2026-03-23 09:30:01 -07:00
2026-03-20 17:04:17 +01:00
2026-03-12 13:49:52 +01:00
2025-07-10 14:15:01 -07:00
2026-03-03 14:10:38 -08:00
2025-11-26 14:57:14 +00:00
2026-01-25 09:38:42 -05:00
2025-07-23 11:36:49 +01:00
2025-11-14 11:00:57 +00:00
2026-02-18 18:49:58 +00:00
2026-01-28 10:51:42 +01:00
2025-05-24 14:48:46 -07:00
2026-03-18 20:29:47 +00:00
2026-03-18 20:29:47 +00:00
2026-03-19 16:08:56 +00:00
2026-03-18 20:29:47 +00:00
2026-03-18 20:29:47 +00:00
2026-03-17 17:08:16 +00:00
2026-02-03 14:24:31 +00:00
2025-09-17 09:12:37 +08:00
2026-01-25 09:38:42 -05:00
2026-02-23 15:24:57 -05:00
2026-03-10 07:41:26 +00:00
2026-02-23 17:23:25 -08:00
2026-02-23 17:21:32 -08:00
2026-03-11 12:31:10 +00:00
2026-03-17 13:40:49 +00:00
2026-03-13 21:51:38 +00:00
2026-03-09 18:38:45 +01:00
2026-03-13 13:39:13 -07:00
2026-02-06 09:05:14 -08:00
2026-02-03 10:46:26 -08:00
2025-05-23 08:30:29 -07:00
2026-02-06 09:05:14 -08:00
2026-03-06 11:01:42 +01:00
2025-12-06 14:00:55 -08:00
2025-08-07 14:59:31 -07:00
2026-03-20 16:30:52 -07:00
2025-09-19 20:08:51 +09:00
2026-03-20 20:32:30 +01:00
2026-03-23 10:19:43 +00:00
2026-03-23 16:55:53 +01:00
2026-03-18 13:11:53 +05:30
2026-03-23 11:41:12 +05:30
2026-03-18 20:29:47 +00:00
2026-01-29 22:23:00 +05:30
2026-03-06 21:55:39 +00:00
2025-05-23 08:30:29 -07:00
2026-01-25 09:45:44 +05:30
2026-03-17 10:19:15 +01:00
2026-03-17 10:19:15 +01:00
2026-03-02 11:48:38 +00:00
2025-05-23 08:30:29 -07:00
2026-02-06 09:05:14 -08:00
2026-03-18 20:29:47 +00:00
2026-03-18 20:29:47 +00:00
2026-03-19 16:08:56 +00:00
2025-11-13 10:26:58 +00:00
2026-03-13 13:39:13 -07:00
2026-03-04 12:16:41 +01:00
2026-02-06 09:05:14 -08:00
2026-02-06 09:05:14 -08:00
2026-01-21 08:44:51 -08:00
2025-05-23 08:30:29 -07:00
2026-01-16 13:05:06 -08:00
2026-02-06 09:05:14 -08:00
2026-01-27 16:08:58 +01:00
2026-03-18 07:35:36 +01:00
2026-03-04 12:16:41 +01:00
2025-08-19 16:42:31 -07:00
2026-03-09 09:33:23 +05:30
2026-02-04 10:08:57 -08:00
2026-03-13 21:38:10 +00:00
2026-02-23 13:25:07 -08:00
2026-03-20 12:03:20 -05:00
2026-01-30 02:11:07 +01:00
2025-05-23 08:30:29 -07:00
2026-01-26 14:16:36 +01:00
2026-03-23 10:56:44 +00:00
2026-03-02 10:50:08 +01:00
2026-03-20 15:41:13 +00:00
2026-03-23 16:55:53 +01:00
2026-03-11 17:05:18 +01:00
2026-03-23 15:44:09 +01:00
2026-03-13 21:16:18 +00:00
2026-03-09 18:38:45 +01:00
2026-03-23 15:44:09 +01:00