Skip to content

ResultTensorOfTensorTA: outer tile of "regular" companion array must be TA::Tensor#515

Open
evaleev wants to merge 1 commit into
masterfrom
evaleev/tot/inner-btas-tensor
Open

ResultTensorOfTensorTA: outer tile of "regular" companion array must be TA::Tensor#515
evaleev wants to merge 1 commit into
masterfrom
evaleev/tot/inner-btas-tensor

Conversation

@evaleev
Copy link
Copy Markdown
Member

@evaleev evaleev commented May 12, 2026

Summary

  • Fixes `compatible_regular_distarray_type` in `ResultTensorOfTensorTA` to wrap the inner's numeric type in `TA::Tensor` instead of re-using the inner-tile type as the new outer tile. The previous formulation produced a `DistArray<btas::Tensor, ...>` when the input ToT was btas-inner — invalid because `btas::Tensor` is inner-only (no `permute`/`reshape`/`batch` etc., which einsum's outer kernel needs).
  • Bumps the TiledArray pin to `53dee008` (TA PR enable btas::Tensor as inner tile of TA::Tensor-of-Tensor + bump BTAS pin tiledarray#546) which adds the matching TA-side support for btas inner tiles (operator ADL routing, einsum's DeNestedArray + sum_tot_2_tos, dist_array's volume(), size_of for btas::Tensor, etc.).

Test plan

  • SeQuant TA-eval unit tests pass against the bumped TA pin.
  • Downstream (MPQC) PNO/CSV CC paths build and run with btas-inner CSV coefficients + TA-inner amplitudes.

@evaleev evaleev force-pushed the evaleev/tot/inner-btas-tensor branch 2 times, most recently from 22ae856 to 149a82d Compare May 13, 2026 03:22
…n array

The "regular" (non-nested) companion array used in ToT * T einsum
contractions had its outer tile set to the *inner* tile type of the
input ToT array. For TA-inner ToT that happens to work (TA::Tensor is a
valid outer tile too), but for btas-inner ToT it produced a
DistArray<btas::Tensor, ...> whose tile lacks the outer-tile API einsum
needs (permute/reshape/batch/...).

The outer tile must always be TA::Tensor; inner-tile types like
btas::Tensor are *inner-only*. Fix compatible_regular_distarray_type
to wrap the inner's numeric type in TA::Tensor.

Also bumps the TiledArray pin to the version that lifts the matching
TA-side restrictions (ValeevGroup/tiledarray#546).
@evaleev evaleev force-pushed the evaleev/tot/inner-btas-tensor branch from 149a82d to fc9d1f1 Compare May 13, 2026 03:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant