17 output_size_{out.numel()},
18 input_type_{input.dtype()},
19 gate_type_{gate.dtype()},
20 out_type_{out.dtype()},
21 input_shape_{input.shape()},
22 gate_shape_{gate.shape()},
23 out_shape_{out.shape()},
24 input_strides_{input.strides()},
25 gate_strides_{gate.strides()},
26 out_strides_{out.strides()},
27 is_input_contiguous_{input.IsContiguous()},
28 is_gate_contiguous_{gate.IsContiguous()},
29 is_out_contiguous_{out.IsContiguous()} {
31 input_type_ == gate_type_ && gate_type_ == out_type_ &&
32 "operator `Swiglu` requires all input and output tensors to have the "