Repository navigation
Conversation
disk_tile.cpp landed on master after the BTAS UM tile was dropped here and still used btasUMTensorVarray, so the device build of ta_test did not compile.
UMTensor::permute falls back to the host for element types without device kernels or under a Host execution space; the value checks alone would not notice that librett was never called.
The case went away with expressions_device_um.cpp; it is the only device check that a const preserve_lobound block hands its consumers the array's own tiles rather than copies.
Their only user was the BTAS UM tile.
evaleev
force-pushed
the
ajay/feature/remove-btas-um-tensor
branch
from
November 12, 2026 19:34
bf3cf35 to
52f6479
Compare
ajay-mk
marked this pull request as ready for review
November 12, 2026 19:52
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Follow-up promised in ValeevGroup/tiledarray#554: removes the BTAS-based unified-memory tile (
btasUMTensorVarray), whichTA::UMTensorreplaces.Change
device/btas_um_tensor.hand.cpp, thebtasUMTensorVarrayanddevice_um_btas_varrayaliases infwd.h, and theTA_DEVICE_LEGACY_UM_CONVERSIONswitch (read only in that header).tensor_um.cppandexpressions_device_um.cpptested only the BTAS tile and are removed. The fivelibrett_um_tensor*cases inlibrett.cpp(ranks 2 to 6) now permuteUMTensor<double>tiles. They usedoublerather thanint, because only BLAS element types take the device (librett) path.ta_dense_deviceandta_vector_deviceare removed, sinceta_dense_um_tensorandta_vector_um_tensorcover them.ta_cc_abcd_device,ta_reduce_deviceanddevice_tasknow useUMTensor.btas_um_tensor.hor the legacy switch, and says GPU unified-memory arrays useTA::UMTensor.device/btas.handdevice/um_storage.h, whose only user was the BTAS tile.tests/disk_tile.cpp(added to master after this PR was opened) usesUMTensorfor its disk-backed device cases.const_block_is_a_viewmoved to theUMTensordevice suite. The librett UM cases now check thatpermutetakes the device path.Downstream impact
This is a source and archive break for GPU users:
TA::btasUMTensorVarray,TA::device_um_btas_varrayand the<TiledArray/device/btas_um_tensor.h>,<TiledArray/device/btas.h>and<TiledArray/device/um_storage.h>headers are gone. Code naming them (e.g. MPQC GPU builds) must switch toTA::UMTensor<T>from<TiledArray/device/tensor.h>.Tile<btasUMTensorVarray<T>>arrays cannot be read back asUMTensorarrays, and nothing marks the format, so a mismatched load is not rejected cleanly.