From b9c98c26a9f86793872427c57fd37cd4da7bf8a4 Mon Sep 17 00:00:00 2001 From: tqchen Date: Sat, 27 Mar 2021 17:48:58 -0400 Subject: [PATCH] [VTA] Make more explicit error message during sim lib loading failures. --- vta/python/vta/testing/simulator.py | 26 ++++++++++++++++---------- 1 file changed, 16 insertions(+), 10 deletions(-) diff --git a/vta/python/vta/testing/simulator.py b/vta/python/vta/testing/simulator.py index 7f2471c61532..05f37c182815 100644 --- a/vta/python/vta/testing/simulator.py +++ b/vta/python/vta/testing/simulator.py @@ -17,6 +17,7 @@ """Utilities to start simulator.""" import ctypes import json +import warnings import tvm from ..environment import get_env from ..libinfo import find_libvta @@ -27,25 +28,30 @@ def _load_sw(): env = get_env() lib_driver_name = "libvta_tsim" if env.TARGET == "tsim" else "libvta_fsim" + require_sim = env.TARGET in ("sim", "tsim") + libs = [] # Load driver library - lib_driver = find_libvta(lib_driver_name, optional=True) - assert lib_driver + lib_driver = find_libvta(lib_driver_name, optional=(not require_sim)) + + if not lib_driver: + return [] + try: libs = [ctypes.CDLL(lib_driver[0], ctypes.RTLD_GLOBAL)] - except OSError: + except OSError as err: + if require_sim: + raise err + warnings.warn("Error when loading VTA driver {}: {}".format(lib_driver[0], err)) return [] if env.TARGET == "tsim": lib_hw = find_libvta("libvta_hw", optional=True) assert lib_hw # make sure to make in ${VTA_HW_PATH}/hardware/chisel - try: - f = tvm.get_global_func("vta.tsim.init") - m = tvm.runtime.load_module(lib_hw[0], "vta-tsim") - f(m) - return lib_hw - except OSError: - return [] + f = tvm.get_global_func("vta.tsim.init") + m = tvm.runtime.load_module(lib_hw[0], "vta-tsim") + f(m) + return lib_hw return libs