Skip to content

strided-kernel: make copy_into_col_major policy-aware or remove the duplicate API #212

Description

@shinaoka

Scope correction (2026-08-10)

strided-einsum2 and strided-opteinsum are not being retired. Per #226, all nine workspace crates remain maintained. Any retirement/Phase 2 removal premise below is obsolete; re-audit and implement the acceptance criteria across the maintained workspace.


Part of #199 (Phase 3, threading). All file:line references are pinned to origin/main at 9da9b9f.

strided-kernel/src/threading.rs:130 copy_into_col_major delegates straight to the serial strided_perm::copy_into_col_major with no threshold, no policy check, and no rationale comment, while copy_permuted_with_active_policy sits directly above it doing the right thing. Its main consumer today is the einsum2 packing path, which leaves with the retirement. Meanwhile strided_perm::copy_into_col_major_par (strided-perm/src/copy.rs:151) is public API with zero callers, and the architecture guard test pins the serial call at exactly one approved occurrence.

  • After the einsum2 absorption: make it policy-aware via copy_permuted_with_active_policy, or document the serial rationale at the code, or remove it together with the dead copy_into_col_major_par.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions