code wiki / _hdl_build / nx_sass_sched.nx

nx_sass_sched.nx

buildroot/runtime/_hdl_build/nx_sass_sched.nx

2114 B41 linesdepth 3pulls 3 transitivereach 0 importersview sourcekind orphan library
docsdependenciesstructsconstsfunctions

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

nx_syscalls.nx nx_mma_asm.nx nx_sass_sched.nx

imports: nx_syscalls.nxnx_mma_asm.nx

imported by: nobody (leaf or entry point)

structs

none

consts

none

functions

12func sched_assign_barriers(varlat: *i64, bar: *i64, n: i64) -> i64
19func sched_wait_mask(wreg: *i64, r0: *i64, r1: *i64, r2: *i64, varlat: *i64, bar: *i64, j: i64) -> i64
called by 1: sched_control
36func sched_control(wreg: *i64, r0: *i64, r1: *i64, r2: *i64, varlat: *i64, bar: *i64, j: i64, stall: i64) -> i64