@areusch and @MichaelJKlaiber, I agree with using [Target-registered compilation flow customization](https://github.com/apache/tvm-rfcs/blob/main/rfcs/0010-target-registered-compiler-flow-customisation.md).
I am struggling to how to connect that with : ``` TVM_REGISTER_GLOBAL("relay.backend.contrib.uma.RegisterTarget") .set_body_typed([](String target_name){ ::tvm::TargetKindRegEntry::RegisterOrGet(target_name) .set_name() .set_device_type(kDLCPU) .add_attr_option<Array<String>>("keys") .add_attr_option<String>("tag") .add_attr_option<String>("device") .add_attr_option<String>("model") .add_attr_option<Array<String>>("libs") .add_attr_option<Target>("host") .add_attr_option<Integer>("from_device") .set_attr<FTVMRelayToTIR>("RelayToTIR", relay::contrib::uma::RelayToTIR(target_name)) .set_attr<FTVMTIRToRuntime>("TIRToRuntime", relay::contrib::uma::TIRToRuntime); }); ``` What would be the API to add an option ? e.g. from here ``` class UltraTrailBackend(UMABackend): def __init__(self): super(UltraTrailBackend, self).__init__() # Relay to Relay function registration self._register_pattern("conv1d_relu", conv1d_relu_pattern()) self._register_relay_pass(1, ConfigGenerator()) self._register_relay_pass(2, BufferScopeAnnotator()) # Relay to TIR function registration self._register_operator_strategy("nn.conv1d", custom_conv1d_strategy) self._register_tir_pass(0, CodegenGenerateConfig()) self._register_tir_pass(0, CodegenGenerateExternCalls()) # TIR to runtime function registration self._register_codegen(format="c", includes=gen_includes, replace_call_extern=None) @property def target_name(self): return "ultra_trail" ``` -- Reply to this email directly or view it on GitHub: https://github.com/apache/tvm-rfcs/pull/60#issuecomment-1122520135 You are receiving this because you are subscribed to this thread. Message ID: <apache/tvm-rfcs/pull/60/c1122520...@github.com>