You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Implement overwrite-only uninitialized GEMM/einsum entry points without reading or preinitializing the destination. The safe strided-rs portion is complete in PR #196, with the feature-combination bound fix in PR #197.
Faer 0.24.4 does not expose a typed API that permits a MatMut<T> overwrite over MaybeUninit<T>. The Faer-only uninitialized entry points therefore return EinsumError::Unsupported and retain the initialized compatibility path. This issue does not use an unsafe cast, early assume_init, or output-sized zero-fill workaround.
The Faer-specific API request is tracked independently in strided-rs #198, which supersedes #195. It is outside this completed safe-backend scope and is not a reason to weaken the contract here.
Scope and status
Implement overwrite-only uninitialized GEMM/einsum entry points without reading or preinitializing the destination. The safe strided-rs portion is complete in PR #196, with the feature-combination bound fix in PR #197.
Complete in #196/#197
MaybeUninit<T>;cblas-inject 0.1.2;strided-opteinsumfull-overwrite intermediates remain uninitialized until successful completion;ExecContextand provider-owned threading are preserved;faer + parallelfeature combination is fixed by Fix uninitialized GEMM parallel bounds #197.Faer boundary
Faer 0.24.4 does not expose a typed API that permits a
MatMut<T>overwrite overMaybeUninit<T>. The Faer-only uninitialized entry points therefore returnEinsumError::Unsupportedand retain the initialized compatibility path. This issue does not use an unsafe cast, earlyassume_init, or output-sized zero-fill workaround.The Faer-specific API request is tracked independently in strided-rs #198, which supersedes #195. It is outside this completed safe-backend scope and is not a reason to weaken the contract here.
Verification
Accumulating GEMM remains on initialized destinations. Reduction and indexed replay are tracked separately.