1#ifndef ATEN_KERNELS_MEMORY_H_
2#define ATEN_KERNELS_MEMORY_H_
18template <
typename T,
typename Device>
28 void operator()(
T*& arr,
const size_t& size,
const char* record_in =
nullptr);
36template <
typename T,
typename Device>
57template <
typename T,
typename Device_out,
typename Device_in>
76template <
typename T,
typename Device_out,
typename Device_in>
81 const std::vector<int64_t>& out_size,
82 const std::vector<int64_t>& in_size)
84 REQUIRES_OK(in_size.size() == out_size.size() && in_size.size() <= 2);
85 if (in_size.size() == 1) {
89 for (int64_t ii = 0; ii < out_size[0]; ii++) {
106template <
typename T_out,
typename T_in,
typename Device_out,
typename Device_in>
134template <
typename T,
typename Device>
#define T
Definition exp.cpp:237
#define REQUIRES_OK(expr,...)
Definition macros.h:60
Casts memory between devices.
Definition memory.h:107
void operator()(T_out *arr_out, const T_in *arr_in, const size_t &size)
Casts memory between devices.
Deletes memory on a device.
Definition memory.h:135
void operator()(T *arr)
Deletes memory on a device.
A functor to resize memory allocation.
Definition memory.h:19
void operator()(T *&arr, const size_t &size, const char *record_in=nullptr)
Resize memory allocation.
A functor to set memory to a constant value.
Definition memory.h:37
void operator()(T *arr, const T &var, const size_t &size)
Set memory to a constant value.
void operator()(T *arr_out, const T *arr_in, const std::vector< int64_t > &out_size, const std::vector< int64_t > &in_size)
Definition memory.h:78
Synchronizes memory between devices.
Definition memory.h:58
void operator()(T *arr_out, const T *arr_in, const size_t &size)
Synchronizes memory between devices.
This file contains the definition of the DataType enum class.