code wiki / _hdl_build / nx_sass_sched.nx
nx_sass_sched.nx
buildroot/runtime/_hdl_build/nx_sass_sched.nx
about
nx_sass_sched.nx -- conservative SASS instruction SCHEDULER (the scheduling-POLICY layer toward a runnable
kernel; pairs with the nx_mma_asm encoder + nv_control). Given an instruction sequence (per-instr: written
register, read registers, variable-latency flag), it assigns a scoreboard BARRIER to each variable-latency
write (loads/MMA) and computes each instruction's WAIT mask so EVERY data dependency (RAW) is covered.
CONSERVATIVE = provably CORRECT (serialize on every dependency), not yet optimal -- the "make it run" pass;
minimizing stalls/barriers = a later optimization pass. Emits the control word per instr via nv_control.
Pure funcs, no main. license_tier: ORIGINAL
dependencies 2 imports · 0 importers
imports: nx_syscalls.nxnx_mma_asm.nx
imported by: nobody (leaf or entry point)
structs
| none |
consts
| none |
functions
| 12 | func sched_assign_barriers(varlat: *i64, bar: *i64, n: i64) -> i64 |
| 19 | func sched_wait_mask(wreg: *i64, r0: *i64, r1: *i64, r2: *i64, varlat: *i64, bar: *i64, j: i64) -> i64 called by 1: sched_control |
| 36 | func sched_control(wreg: *i64, r0: *i64, r1: *i64, r2: *i64, varlat: *i64, bar: *i64, j: i64, stall: i64) -> i64 |