From 706e493f315f817014168759e227574aabf77801 Mon Sep 17 00:00:00 2001 From: Jiacheng Huang Date: Thu, 7 May 2026 17:53:38 +0800 Subject: [PATCH 1/2] feat: add `upsample_nearest2d` base --- src/base/upsample_nearest2d.h | 36 +++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 src/base/upsample_nearest2d.h diff --git a/src/base/upsample_nearest2d.h b/src/base/upsample_nearest2d.h new file mode 100644 index 00000000..a3f24fda --- /dev/null +++ b/src/base/upsample_nearest2d.h @@ -0,0 +1,36 @@ +#ifndef INFINI_OPS_BASE_UPSAMPLE_NEAREST2D_H_ +#define INFINI_OPS_BASE_UPSAMPLE_NEAREST2D_H_ + +#include "operator.h" + +namespace infini::ops { + +class UpsampleNearest2d : public Operator { + public: + UpsampleNearest2d(const Tensor self, const std::vector output_size, + Tensor out) + : self_shape_{self.shape()}, + self_strides_{self.strides()}, + self_type_{self.dtype()}, + out_shape_{out.shape()}, + out_strides_{out.strides()}, + out_type_{out.dtype()}, + device_index_{out.device().index()} {} + + virtual void operator()(const Tensor self, + const std::vector output_size, + Tensor out) const = 0; + + protected: + Tensor::Shape self_shape_; + Tensor::Strides self_strides_; + DataType self_type_; + Tensor::Shape out_shape_; + Tensor::Strides out_strides_; + DataType out_type_; + int device_index_{0}; +}; + +} // namespace infini::ops + +#endif From 7351b561801d7a133189b34fec41a7548f9759cb Mon Sep 17 00:00:00 2001 From: Jiacheng Huang Date: Thu, 7 May 2026 17:37:29 +0800 Subject: [PATCH 2/2] chore: separate base class members --- src/base/upsample_nearest2d.h | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/base/upsample_nearest2d.h b/src/base/upsample_nearest2d.h index a3f24fda..68a650e2 100644 --- a/src/base/upsample_nearest2d.h +++ b/src/base/upsample_nearest2d.h @@ -23,11 +23,17 @@ class UpsampleNearest2d : public Operator { protected: Tensor::Shape self_shape_; + Tensor::Strides self_strides_; + DataType self_type_; + Tensor::Shape out_shape_; + Tensor::Strides out_strides_; + DataType out_type_; + int device_index_{0}; };