Skip to content

T25 — Split factorization: tiled SYRK, chunked TRSM, split regime-C fronts #25

Closed as not planned

Description

@michel2323

Task T25 of TASKS.md — milestone M11 — Performance. (Rescoped on 2026-10-09: the former "performance pass" is split into T22, T24, T25 and T26, see STATE.md §8.)

Depends on: #24 (T24) must be merged first; tasks are strictly sequential.

Summary (from TASKS.md): adopt bench/fact_split.jl (PR #107): for fronts with m > 64 the fused regime-B kernel's SYRK and TRSM become separate many-block kernels (tiled 32×32 SYRK with disjoint writes, bit-identical; chunked TRSM); regime-C fronts narrower than 64 run the regular assembly kernels plus the split factor kernels batched per level, vendor potrf only above width 64; longest-first regime-A launches; regime_c_rows re-measured together with T24's solve. LDLᵀ must not regress. Report: refactorization table vs cuDSS with the per-class split.

Scope and deliverables: the section T25 of TASKS.md on main is the single source of truth; it is not copied here so it cannot drift.

Definition of done:

  • Every test listed in the task passes on the KA CPU backend and on the CUDA self-hosted runner (Run tests and Aqua green on the PR).
  • The task's status marker in TASKS.md is set and its Report block is filled in honestly (CUDA counts come from CI).
  • A PR titled T25: … from branch task/T25-<slug> with Closes #25 in its body, reviewed by the Claude reviewer with VERDICT: APPROVE.
  • Out-of-scope bugs or follow-ups found on the way are opened as separate issues (label found-by-agent), not fixed silently.

How it starts: add the label claude:implement (the pipeline does this automatically after the previous task's PR merges; label on-hold to prevent that).

Activity

  1. added this to the M11 — Performance milestone on Oct 1, 2026
  2. changed the title [-]T25 — Performance pass[/-] [+]T25 — Split factorization: tiled SYRK, chunked TRSM, split regime-C fronts[/+] on Oct 9, 2026
  3. michel2323 commented on Nov 5, 2026

    @michel2323
    MemberAuthor

    Superseded: the task is marked [-] in TASKS.md since PR #185 (2026-11-04). Its kernels landed through T33–T35 in src/fused.jl; the remaining integration is re-cut as T36 (#186, solve_alg = "algo1" on DirectSolver), T37 (the fused factorization on DirectSolver, #109) and T38 (graph capture of the stock path, closes #82 and #110).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    taskOne task from TASKS.md

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions