@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/[email protected]>