| 677 | ) |
| 678 | |
| 679 | def output_node(self): |
| 680 | cls: Union[Type[ir.ExternKernelOut], Type[ir.ExternKernelAlloc]] |
| 681 | if self.has_out_variant: |
| 682 | cls = ir.ExternKernelOut |
| 683 | else: |
| 684 | cls = ir.ExternKernelAlloc |
| 685 | return ir.TensorBox.create( |
| 686 | cls( |
| 687 | layout=self.layout, |
| 688 | inputs=self.input_nodes, |
| 689 | kernel=self.choice.call_name(), |
| 690 | cpp_kernel=self.choice.cpp_kernel, |
| 691 | ordered_kwargs_for_cpp_kernel=self.choice.ordered_kwargs_for_cpp_kernel, |
| 692 | kwargs=self.kwargs, |
| 693 | ) |
| 694 | ) |
| 695 | |
| 696 | |
| 697 | class ErrorFromChoice(RuntimeError): |