File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1+ #ifndef INFINI_OPS_BASE_QR_Q_H_
2+ #define INFINI_OPS_BASE_QR_Q_H_
3+
4+ #include " operator.h"
5+
6+ namespace infini ::ops {
7+
8+ class QrQ : public Operator <QrQ> {
9+ public:
10+ QrQ (const Tensor self, Tensor Q, Tensor R)
11+ : self_shape_{self.shape ()},
12+ self_strides_{self.strides ()},
13+ self_type_{self.dtype ()},
14+ Q_shape_{Q.shape ()},
15+ Q_strides_{Q.strides ()},
16+ Q_type_{Q.dtype ()},
17+ R_shape_{R.shape ()},
18+ R_strides_{R.strides ()},
19+ R_type_{R.dtype ()},
20+ device_index_{Q.device ().index ()} {}
21+
22+ virtual void operator ()(const Tensor self, Tensor Q, Tensor R) const = 0;
23+
24+ protected:
25+ Tensor::Shape self_shape_;
26+ Tensor::Strides self_strides_;
27+ DataType self_type_;
28+ Tensor::Shape Q_shape_;
29+ Tensor::Strides Q_strides_;
30+ DataType Q_type_;
31+ Tensor::Shape R_shape_;
32+ Tensor::Strides R_strides_;
33+ DataType R_type_;
34+ int device_index_{0 };
35+ };
36+
37+ } // namespace infini::ops
38+
39+ #endif
You can’t perform that action at this time.
0 commit comments