Module neuralops.core.triton_kernels.gdn_scan
Triton-accelerated Gated DeltaNet chunked scan.
Recurrence -----= inter_v_t = k_t @ S_{t-1} err_t = v_t - inter_v_t norm_sq_t = sum(k_t^2) step_t = alpha_t / max(1 + norm_sq_t, 1) S_t = beta_t * S_{t-1} + step_t * k_t^T @ err_t y_t = q_t @ S_t
All ops are per-(batch, head). S is a (d_k, d_v) matrix kept in registers. Supports d_k = d_v <= 64.
Functions
def gdn_scan_triton(q, k, v, beta, alpha)-
Expand source code
def gdn_scan_triton(q, k, v, beta, alpha): """Triton-accelerated Gated DeltaNet scan. head_dim must be <= 64.""" B, H, L, D = q.shape if D > MAX_REGISTER_DIM: raise ValueError(f"head_dim {D} > {MAX_REGISTER_DIM}") q = q.contiguous() k = k.contiguous() v = v.contiguous() beta = beta.contiguous() alpha = alpha.contiguous() return _GatedDeltaNetScanFn.apply(q, k, v, beta, alpha)Triton-accelerated Gated DeltaNet scan. head_dim must be <= 64.
Classes
class triton-
Methods
def autotune(*a, **kw)-
Expand source code
"autotune": lambda *a, **kw: lambda f: f, def heuristics(*a, **kw)-
Expand source code
"heuristics": lambda *a, **kw: lambda f: f, def jit(f)-
Expand source code
"jit": lambda f: f,