Skip to content

Commit 33ebd13

Browse files
committed
feat: add qr_q base
1 parent 57ec7e3 commit 33ebd13

1 file changed

Lines changed: 39 additions & 0 deletions

File tree

src/base/qr_q.h

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
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

0 commit comments

Comments
 (0)