-
Notifications
You must be signed in to change notification settings - Fork 3.5k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[microTVM] Add support for AutoTVM (#8715)
* Initial commit of API server impl. * initial commit of api client * Add TVM-side glue code to use Project API * Change tvm.micro.Session to use Project API * Rework how crt_config.h is used on the host. * use template crt_config.h for host test runtime; delete src/runtime/crt/host/crt_config.h so that it doesn't diverge from the template * bring template crt_config.h inline with the one actually in use * rename to MAX_STRLEN_DLTYPE * Create a dedicated TVM-side host crt_config.h in src/runtime/micro * Modify Transport infrastructure to work with Project API * Add host microTVM API server * Zephyr implementation of microTVM API server * move all zephyr projects to apps/microtvm/zephyr/template_project * consolidate CcompilerAnnotator * Allow model library format with c backend, add test. * Update unit tests * fix incorrect doc * Delete old Zephyr build infrastructure * Delete old build abstractions * Delete old Transport implementations and simplify module * lint * ASF header * address gromero comments * final fixes? * fix is_shutdown * fix user-facing API * fix TempDirectory / operator * Update micro_tflite tutorial * lint * fix test_crt and test_link_params * undo global micro import, hopefully fix fixture * lint * fix more tests * Add session_constructor_args to tracker request() function. * Allows tracker clients to open non-traditional RPC sessions * Generate entry_func symbol in C host codegen. * Needed for AutoTVM. * print MeasureErrorNo enum value in MeasureResult repr * Add microTVM session constructor. * This constructor is to be called from the RPC driver to flash and connect to the RPC server on the microcontroller. * add build_kwargs as a Builder constructor arg. * build_kwargs is derived from pre-configured args, the runner, and now from the script. * user-supplied build kwargs override the other two, and a warning is printed if any key is overridden. * Add do_fork option to Builder, to support stateful builders * When AutoTVM builder forks, any global state modified by the build_func is lost between builds * Checkin module_loader used to build and flash microTVM for autotuning. * Import micro into top-level when enabled. * AutoTVM RPC server needs to load the micro session constructor. * Add tvm.contrib.random.random_fill to microTVM. * Allows autotuning with random data. * Move compilation to runner :O * Add a tutorial for AutoTVM with microcontrollers. * Fix si_prefix in autotuner callback * black format and git-clang-format * Switch tutorial back to qemu version * improve error reporting so CI will show test error * black format * autotvm is working * fix tutorial * fix dependencies * fix auto tune issue * lint * address comments * fix lint * test crt and zephyr added * fix func registery size * moved autotune test and fixed * fix crt test * address comments * change relay text * change relay in text_zephyr * class added * changed relay module in tutorial and cleanup * address comments * address TK comments * change fork * final comments * retrigger due to flahy test * fix tutorial * retrigger * fix changes due to merge Co-authored-by: Andrew Reusch <areusch@octoml.ai>
- Loading branch information
Showing
22 changed files
with
778 additions
and
33 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.