1#ifndef INFINI_OPS_BASE_RELU_H_
2#define INFINI_OPS_BASE_RELU_H_
13 ConcatType<ConcatType<AllFloatTypes, IntTypes>, List<DataType::kUInt8>>;
29 "operator `Relu` requires matching input and output shapes");
31 "operator `Relu` requires matching input and output dtypes");
32 assert(input.device() == out.device() &&
33 "operator `Relu` requires input and output on the same device");
35 "operator `Relu` received an unsupported dtype");
36 assert(!out.HasBroadcastDim() &&
37 "operator `Relu` output must not have broadcasted dimensions");
45 (input.data() == out.data() && input.strides() == out.strides())) {
52 return input_begin < out_end && out_begin < input_end;
57 Tensor::Stride min_offset = 0;
58 Tensor::Stride max_offset = 0;
60 for (Tensor::Size i = 0; i < tensor.ndim(); ++i) {
62 static_cast<Tensor::Stride
>(tensor.size(i) - 1) * tensor.stride(i);
71 const auto address =
reinterpret_cast<std::intptr_t
>(tensor.data());
72 const auto element_size =
static_cast<std::intptr_t
>(tensor.element_size());
74 return {address + min_offset * element_size,
75 address + (max_offset + 1) * element_size};
Definition generated/include/operator.h:282
const DataType input_type_
Definition relu.h:82
bool NeedsInputCopy(const Tensor input, const Tensor out) const
Definition relu.h:43
Tensor::Shape out_shape_
Definition relu.h:88
Tensor::Size ndim_
Definition relu.h:78
Tensor::Shape input_shape_
Definition relu.h:86
Tensor::Strides out_strides_
Definition relu.h:92
bool is_input_contiguous_
Definition relu.h:94
static std::pair< std::intptr_t, std::intptr_t > StorageByteRange(const Tensor tensor)
Definition relu.h:55
Tensor::Strides input_strides_
Definition relu.h:90
bool is_out_contiguous_
Definition relu.h:96
virtual void operator()(const Tensor input, Tensor out) const =0
const DataType out_type_
Definition relu.h:84
Tensor::Size output_size_
Definition relu.h:80
Relu(const Tensor input, Tensor out)
Definition relu.h:17
bool ListContains(ValueType value, List< values... >)
Definition generated/include/operator.h:83
Definition generated/include/operator.h:28
ConcatType< ConcatType< AllFloatTypes, IntTypes >, List< DataType::kUInt8 > > ReluDataTypes
Definition relu.h:13
infini::rt::TensorView Tensor
Definition tensor.h:8