20 const scalar_t *A_ptr = static_cast<const scalar_t *>(A.GetDataPtr());
21 scalar_t *output_ptr = static_cast<scalar_t *>(output.GetDataPtr());
22 auto rows = static_cast<size_t>(A.GetShape()[0]),
23 cols = static_cast<size_t>(A.GetShape()[1]);
24 queue.parallel_for({cols, rows}, [=](
auto wid) {
25 const auto wid_1d = wid[1] * cols + wid[0];
26 if (static_cast<int>(wid[0]) - static_cast<int>(wid[1]) >=
28 output_ptr[wid_1d] = A_ptr[wid_1d];
38 const scalar_t *A_ptr = static_cast<const scalar_t *>(A.GetDataPtr());
39 scalar_t *output_ptr = static_cast<scalar_t *>(output.GetDataPtr());
40 auto rows = static_cast<size_t>(A.GetShape()[0]),
41 cols = static_cast<size_t>(A.GetShape()[1]);
42 queue.parallel_for({cols, rows}, [=](
auto wid) {
43 const auto wid_1d = wid[1] * cols + wid[0];
44 if (static_cast<int>(wid[0]) - static_cast<int>(wid[1]) <=
46 output_ptr[wid_1d] = A_ptr[wid_1d];
59 const scalar_t *A_ptr = static_cast<const scalar_t *>(A.GetDataPtr());
60 scalar_t *upper_ptr = static_cast<scalar_t *>(upper.GetDataPtr());
61 scalar_t *lower_ptr = static_cast<scalar_t *>(lower.GetDataPtr());
62 auto rows = static_cast<size_t>(A.GetShape()[0]),
63 cols = static_cast<size_t>(A.GetShape()[1]);
64 queue.parallel_for({cols, rows}, [=](
auto wid) {
65 const auto wid_1d = wid[1] * cols + wid[0];
66 if (static_cast<int>(wid[0]) - static_cast<int>(wid[1]) <
68 lower_ptr[wid_1d] = A_ptr[wid_1d];
69 }
else if (
static_cast<int>(wid[0]) -
70 static_cast<int>(wid[1]) >
72 upper_ptr[wid_1d] = A_ptr[wid_1d];
74 lower_ptr[wid_1d] = 1;
75 upper_ptr[wid_1d] = A_ptr[wid_1d];
#define DISPATCH_DTYPE_TO_TEMPLATE(DTYPE,...)
Device GetDevice() const override
static SYCLContext & GetInstance()
Get singleton instance.
sycl::queue GetDefaultQueue(const Device &device)
Get the default SYCL queue given an CloudViewer device.
ccGuiPythonInstance * GetInstance() noexcept
void TrilSYCL(const Tensor &A, Tensor &output, const int diagonal)
void TriulSYCL(const Tensor &A, Tensor &upper, Tensor &lower, const int diagonal)
void TriuSYCL(const Tensor &A, Tensor &output, const int diagonal)
Generic file read and write utility for python interface.