Skip to content

Suffix vocabulary for the retained kernel surface (accumulating ops and _view) #220

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, API). All file:line references are pinned to origin/main at 9da9b9f. Decision issue; record the outcome in REPOSITORY_RULES.md, then rename without compatibility shims (pre-1.0 policy).

Because einsum2 remains maintained, its beta-carrying _into entry points must be included in the vocabulary decision. The workspace surface is inconsistent:

  • add / mul / axpy / fma (ops_view.rs:254, :355, :456, :562) are unsuffixed read-modify-write ops (dest[i] += ..., dest[i] *= ...), and axpy_raw / axpy_conj_raw likewise; all are facade-root exports.

  • mul (dest *= src) vs mul_into (dest = a * b, map_view.rs:1713) are different operations under a name pair suggesting the same op.

  • copy_scale / copy_conj (ops_view.rs:857, :872) are pure overwrites missing _into while copy_into / copy_transpose_scale_into carry it.

  • _view means metadata-only exactly once (diagonal_view) while permute / broadcast / transpose_2d / conj are metadata-only without it, and *_view.rs module names mean "operates on views".

  • _uninit coverage is asymmetric: ErasedCopyPlan lacks execute_uninit (typed CopyPlan has it), gather-family typed execute_uninit is pub(crate) while the erased ones are public, and map_into / zip_map* / copy_into / reduce* have no uninit siblings.

  • Decide: adopt the tenferro vocabulary (_add_to for accumulation, _into strictly overwrite, one _view meaning) or document a strided-specific convention.

  • Rename and close the _uninit coverage gaps accordingly.

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