Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
38 commits
Select commit Hold shift + click to select a range
73bcba9
docs: fix a bunch of typos
ajay-mk Jul 20, 2025
595c613
fwd: try introducing a TA::Tensor with UM allocator [skip ci]
ajay-mk Jul 21, 2025
285cb26
fwd: TA::UMTensorType -> TA::UMTensor
ajay-mk Jul 25, 2025
4613c8d
device: support operations on device for UMTensor
ajay-mk Aug 2, 2025
c1af6ac
device: move tile type independent array functions to a new file
ajay-mk Aug 2, 2025
70dd413
UMTensor: implement serialization in TA::Tensor style
ajay-mk Aug 4, 2025
188513a
unit: rename btas um tensor tests
ajay-mk Aug 4, 2025
cd9eee9
UMTensor: try serialization implementation BTASUMTensor style
ajay-mk Aug 4, 2025
095203d
unit: introduce UMTensor tests
ajay-mk Aug 4, 2025
b52b007
unit: try setting nbatch 1 for test cases
ajay-mk Aug 4, 2025
1369261
UMTensor: instantiate UMTensor types
ajay-mk Aug 7, 2025
972eabe
cuda.cmake: add forward-unknown-opts to CMAKE_CUDA_FLAGS
ajay-mk Aug 7, 2025
4d7b6ee
unit: rename UMTensor test fixture
ajay-mk Aug 7, 2025
f54725f
device: dense multiplication example for UMTensor
ajay-mk Aug 7, 2025
d2084e6
UMTensor: avoid circular dependency
ajay-mk Aug 7, 2025
eb87064
unit: add missing tensor header for TensorUM tests
ajay-mk Aug 8, 2025
f7a76c3
refactor: update templating of UMTensor functions, drop concepts, avo…
ajay-mk Aug 11, 2025
d061305
UMTensor: specially handle ComplexConjugate in scaling
ajay-mk Aug 11, 2025
47bddfb
UMTensor: fix ldc computing in gemm calls, add assertions
ajay-mk Aug 11, 2025
4e1121e
Tensor: rever accidental changes to tensor.h
ajay-mk Aug 11, 2025
e9f7d95
UMTensor: cleanup
ajay-mk Aug 12, 2025
60d4abd
UMTensor: introduce const and non-const versions of to_device
ajay-mk Aug 14, 2025
720f678
UMTensor: refactor serialization implementation
ajay-mk Aug 14, 2025
e5b98d6
UMTensor: no need to use value_type, use T directly + format
ajay-mk Aug 14, 2025
1f400bb
format: clang-format source files
ajay-mk Aug 14, 2025
f106b02
UMTensor: implement is_device_tile
ajay-mk Aug 17, 2025
e6c3ba5
unit: expression tests with UMTensor
ajay-mk Aug 17, 2025
739d264
UM: Add to_host functions for Tensor types. Also removes non-const ve…
ajay-mk Aug 20, 2025
880e654
UMTensor: use generic device_data, no need for overload
ajay-mk Aug 21, 2025
af551f1
UMTensor: restrict kernels to tensor of scalars
ajay-mk Aug 21, 2025
9916e9b
UMTensor: remove commented out code
ajay-mk Aug 21, 2025
a816229
device_array_ops.h -> device_array.h
ajay-mk Aug 21, 2025
238c0a8
UMTensor: add extern template declarations for UMTensor types
ajay-mk Aug 22, 2025
59bc9c1
UMTensor: implement Array level copy operations
ajay-mk Aug 22, 2025
db1ce03
examples/device: switch over to UMTensor
ajay-mk Aug 24, 2025
0322109
Merge remote-tracking branch 'origin/master' into ajay/expt/device-te…
ajay-mk Aug 29, 2025
9df2b2e
UMTensor: introduce impl functions which take `queue` as an argument
ajay-mk Sep 17, 2025
7a206d7
format: clang-format um_tensor.h
ajay-mk Sep 17, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion examples/device/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@

if(TILEDARRAY_HAS_CUDA OR TILEDARRAY_HAS_HIP)

foreach(_exec device_task ta_dense_device ta_cc_abcd_device ta_vector_device ta_reduce_device)
foreach(_exec device_task ta_dense_device ta_dense_um_tensor ta_cc_abcd_device ta_vector_device ta_reduce_device)

# Add executable
add_ta_executable(${_exec} "${_exec}.cpp" "tiledarray")
Expand Down
14 changes: 5 additions & 9 deletions examples/device/device_task.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,13 @@
//

#include <TiledArray/device/blas.h>
#include <TiledArray/device/btas_um_tensor.h>
#include <TiledArray/device/um_tensor.h>
#include <TiledArray/device/device_task_fn.h>

#include <tiledarray.h>

using value_type = double;
using tensor_type = TiledArray::btasUMTensorVarray<value_type>;
using tensor_type = TiledArray::UMTensor<value_type>;
using tile_type = TiledArray::Tile<tensor_type>;

/// verify the elements in tile is equal to value
Expand All @@ -31,21 +31,17 @@ void verify(const tile_type& tile, value_type value, std::size_t index) {
tile_type scale(const tile_type& arg, value_type a,
TiledArray::device::Stream stream, std::size_t index) {
/// make result Tensor
using Storage = typename tile_type::tensor_type::storage_type;
Storage result_storage;
auto result_range = arg.range();
TiledArray::make_device_storage(result_storage, arg.size(), stream);

typename tile_type::tensor_type result(std::move(result_range),
std::move(result_storage));
typename tile_type::tensor_type result(std::move(result_range));

/// copy the original Tensor
auto& queue = TiledArray::BLASQueuePool::queue(stream);

blas::copy(result.size(), arg.data(), 1,
TiledArray::device_data(result.storage()), 1, queue);
TiledArray::device_data(result), 1, queue);

blas::scal(result.size(), a, TiledArray::device_data(result.storage()), 1,
blas::scal(result.size(), a, TiledArray::device_data(result), 1,
queue);

// std::stringstream stream_str;
Expand Down
5 changes: 2 additions & 3 deletions examples/device/ta_cc_abcd_device.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
*
*/

#include <TiledArray/device/btas_um_tensor.h>
#include <TiledArray/device/um_tensor.h>
#include <TiledArray/version.h>
#include <tiledarray.h>
#include <iostream>
Expand Down Expand Up @@ -185,8 +185,7 @@ void cc_abcd(TA::World& world, const TA::TiledRange1& trange_occ,
const double n_gflop =
flops_per_fma * std::pow(n_occ, 2) * std::pow(n_uocc, 4) / 1e9;

using deviceTile =
btas::Tensor<T, TA::Range, TiledArray::device_um_btas_varray<T>>;
using deviceTile = TA::UMTensor<T>;
using deviceMatrix = TA::DistArray<TA::Tile<deviceTile>>;

// Construct tensors
Expand Down
Loading
Loading