InfiniOps
Operator Library for Accelerators
Loading...
Searching...
No Matches
internal_compute_linear_combination.h
Go to the documentation of this file.
1#ifndef INFINI_OPS_BASE_INTERNAL_COMPUTE_LINEAR_COMBINATION_H_
2#define INFINI_OPS_BASE_INTERNAL_COMPUTE_LINEAR_COMBINATION_H_
3
4#include "operator.h"
5
6namespace infini::ops::internal {
7
8class ComputeLinearCombination : public Operator<ComputeLinearCombination> {
9 public:
10 ComputeLinearCombination(const Tensor input, const Tensor coefficients,
11 Tensor out)
12 : input_shape_{input.shape()},
13 input_strides_{input.strides()},
14 input_type_{input.dtype()},
15 coefficients_shape_{coefficients.shape()},
16 coefficients_strides_{coefficients.strides()},
17 coefficients_type_{coefficients.dtype()},
18 out_shape_{out.shape()},
19 out_strides_{out.strides()},
20 out_type_{out.dtype()},
21 device_index_{out.device().index()} {}
22
23 virtual void operator()(const Tensor input, const Tensor coefficients,
24 Tensor out) const = 0;
25
26 protected:
27 Tensor::Shape input_shape_;
28
29 Tensor::Strides input_strides_;
30
31 DataType input_type_;
32
33 Tensor::Shape coefficients_shape_;
34
35 Tensor::Strides coefficients_strides_;
36
38
39 Tensor::Shape out_shape_;
40
41 Tensor::Strides out_strides_;
42
43 DataType out_type_;
44
46};
47
48} // namespace infini::ops::internal
49
50#endif
Definition generated/include/operator.h:282
Definition internal_compute_linear_combination.h:8
Tensor::Strides coefficients_strides_
Definition internal_compute_linear_combination.h:35
ComputeLinearCombination(const Tensor input, const Tensor coefficients, Tensor out)
Definition internal_compute_linear_combination.h:10
Tensor::Strides input_strides_
Definition internal_compute_linear_combination.h:29
virtual void operator()(const Tensor input, const Tensor coefficients, Tensor out) const =0
DataType out_type_
Definition internal_compute_linear_combination.h:43
DataType input_type_
Definition internal_compute_linear_combination.h:31
Tensor::Shape coefficients_shape_
Definition internal_compute_linear_combination.h:33
Tensor::Shape out_shape_
Definition internal_compute_linear_combination.h:39
DataType coefficients_type_
Definition internal_compute_linear_combination.h:37
Tensor::Shape input_shape_
Definition internal_compute_linear_combination.h:27
int device_index_
Definition internal_compute_linear_combination.h:45
Tensor::Strides out_strides_
Definition internal_compute_linear_combination.h:41
Definition internal_add_relu.h:6
infini::rt::TensorView Tensor
Definition tensor.h:8