Hi, I want to use AoT LLVM backend to generate a self-contained static library, with auto scheduler tuning best history applied. Currently it seems I can only use C++ backend with aot, however:
- The tuning result seems not loaded when aot is specified:
For python code like this, there is no issue: with auto_scheduler.ApplyHistoryBest(log_file): with tvm.transform.PassContext( opt_level=3, config={“relay.backend.use_auto_scheduler”: True} ): lib = relay.build(mod, target=target, params=params,)
However if I specify runtime=Runtime(‘cpp’),executor=backend.Executor(“aot”, {“interface-api”: “packed”,}), it will give warning that the DAG workload key are not found. I find that the warning work load key are different than the ones in the previous tunning json files.
-
I can see when export_library, the lib0.o contains a new main function calls something like: tvmgen_modname___tvm_main__ However I can’t find any samples to call the model. I also don’t know the signature for the main function. could you guys help me how can I run an aot inference and test it out?
-
Can I just compile multiple models into a single binary (multiple lib0.o, lib1.o dev.o) without any additional dynamic libraries? Thanks!