Builtin Library
README.md
proc.device
The passes every op composes to work over elements on the device: counts that live in a buffer, prefix sums (scan), compaction (compact), gathers and scatters bounded by a device count, a free list of slots (freeList), sorts, reductions, histograms, edge lists and appends clamped to what a run can hold. No call loops over elements in Luau: each records dispatches, and the element counts they work to are words in device buffers written by one pass and read by the next, so no pass waits on the CPU to learn how many elements there are. Runs are sized to a capacity the CPU knows; the count says how much of the run is live. A count is a one-word run read as a u32; an index is carried in an f32 run, exact up to 2^24.
Part of @builtin::systems.procgen.proc; reached as proc.device.