gromero commented on pull request #43: URL: https://github.com/apache/tvm-rfcs/pull/43#issuecomment-955016008
@mehrdadh thanks for the review! Yes, if a Project API method implementation is absent a `TypeError` will be raised at the server side because the abstract method is not implemented when the Handler class is derived. Also as per https://github.com/apache/tvm-rfcs/blame/main/rfcs/0008-microtvm-project-api.md#L363 I understand the implementation for all of the methods are indeed mandatory. Thus, just as a reference something similar to the following will happen: ``` gromero@amd:~/git/tvm$ tvmc micro create-project --force /tmp/x46 ~/scripts/sine.tar zephyr --project-option zephyr_board=stm32f746g_disco project_type=host_driven Traceback (most recent call last): File "/home/gromero/git/tvm/apps/microtvm/zephyr/template_project/microtvm_api_server.py", line 739, in <module> server.main(Handler()) TypeError: Can't instantiate abstract class Handler with abstract method build Traceback (most recent call last): File "/usr/lib/python3.9/runpy.py", line 197, in _run_module_as_main return _run_code(code, main_globals, None, File "/usr/lib/python3.9/runpy.py", line 87, in _run_code exec(code, run_globals) File "/home/gromero/git/tvm/python/tvm/driver/tvmc/__main__.py", line 24, in <module> tvmc.main.main() File "/home/gromero/git/tvm/python/tvm/driver/tvmc/main.py", line 94, in main sys.exit(_main(sys.argv[1:])) File "/home/gromero/git/tvm/python/tvm/driver/tvmc/main.py", line 69, in _main make_subparser(subparser, parser) File "/home/gromero/git/tvm/python/tvm/driver/tvmc/micro.py", line 173, in add_micro_parser template = project.TemplateProject.from_directory(template_dir) File "/home/gromero/git/tvm/python/tvm/micro/project.py", line 110, in from_directory return cls(client.instantiate_from_dir(template_project_dir)) File "/home/gromero/git/tvm/python/tvm/micro/project.py", line 114, in __init__ self._info = self._api_client.server_info_query(__version__) File "/home/gromero/git/tvm/python/tvm/micro/project_api/client.py", line 143, in server_info_query reply = self._request_reply("server_info_query", {"tvm_version": tvm_version}) File "/home/gromero/git/tvm/python/tvm/micro/project_api/client.py", line 119, in _request_reply raise ConnectionShutdownError("got EOF reading reply from API server") tvm.micro.project_api.client.ConnectionShutdownError: got EOF reading reply from API server ``` -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
