Expand description
Mixed queue traversal that keeps low-degree rows scalar and sends only hubs to row-strided teams. Mixed sparse CSR queue traversal for active sets with a small number of hubs.
A global row-strided pass is excellent for true hub rows, but wastes lanes on the many one-edge and three-edge rows that usually travel in the same active queue. This primitive keeps low-degree rows in a scalar queue pass and compacts only high-degree sources into a second queue for row-strided traversal.
Structs§
- CsrQueue
Split LowForward CpuResult - CPU result for the low split pass.
- CsrQueue
Split LowForward Params - Positional inputs for
csr_queue_split_low_forward_traverse.
Constants§
- CSR_
QUEUE_ SPLIT_ HIGH_ DEGREE_ THRESHOLD - Degree at which a queued row has enough work to amortize a 32-lane team.
- CSR_
QUEUE_ SPLIT_ LOW_ FORWARD_ OP_ ID - Canonical op id for mixed low-row traversal and high-row compaction.
- CSR_
QUEUE_ SPLIT_ LOW_ FORWARD_ WORKGROUP_ SIZE - Workgroup shape for the low-row split pass.
Functions§
- csr_
queue_ split_ low_ dispatch_ grid - Dispatch grid for the one-lane-per-active-source low split pass.
- csr_
queue_ split_ low_ forward_ traverse - Build the low-row half of a mixed queue traversal.
- csr_
queue_ split_ low_ forward_ traverse_ with - Build the low-row half of a mixed queue traversal.
- csr_
queue_ split_ mixed_ logical_ lanes - Logical lanes consumed by low split plus a high row-strided follow-up pass.
- try_
csr_ queue_ split_ low_ forward_ traverse_ cpu - Fallible CPU reference for the low split pass.