/** * Copyright (c) 2023 by Contributors * Copyright (c) 2023, GT-TDAlab (Muhammed Fatih Balin & Umit V. Catalyurek) * @file cuda/cumsum.cu * @brief Cumsum operators implementation on CUDA. */ #include #include "./common.h" namespace graphbolt { namespace ops { torch::Tensor ExclusiveCumSum(torch::Tensor input) { auto result = torch::empty_like(input); AT_DISPATCH_INTEGRAL_TYPES(input.scalar_type(), "ExclusiveCumSum", ([&] { CUB_CALL( DeviceScan::ExclusiveSum, input.data_ptr(), result.data_ptr(), input.size(0)); })); return result; } } // namespace ops } // namespace graphbolt