xref: /aosp_15_r20/external/pytorch/test/edge/templates/RegisterCodegenUnboxedKernels.cpp (revision da0073e96a02ea20f0ac840b70461e3646d07c45)
1 #include <operator_registry.h>
2 #include <event_tracer_hooks.h>
3 #include "${fn_header}" // Generated Function import headers
4 
5 namespace torch {
6 namespace executor {
7 
8 using namespace internal;
9 
10 namespace {
11 using KernelArrayRef = ::at::ArrayRef<::torch::executor::Kernel>;
12 
13 static Kernel kernels_to_register[] = {
14     ${unboxed_kernels} // Generated operators
15 };
16 
17 // Explicitly convert to ArrayRef, so that the API can take an empty C array of
18 // Kernels.
19 static KernelArrayRef kernel_array_ref(
20     kernels_to_register,
21     kernels_to_register + sizeof(kernels_to_register) / sizeof(Kernel));
22 
23 // Return value not used. Keep the static variable assignment to register
24 // operators in static initialization time.
25 static auto success_with_kernel_reg = register_kernels(kernel_array_ref);
26 } // namespace
27 } // namespace executor
28 } // namespace torch
29