Skip to content

Commit

Permalink
[VTA] Make more explicit error message during sim lib loading failure…
Browse files Browse the repository at this point in the history
…s. (apache#7761)
  • Loading branch information
tqchen authored and Trevor Morris committed May 6, 2021
1 parent 5e640d8 commit 20a6c53
Showing 1 changed file with 16 additions and 10 deletions.
26 changes: 16 additions & 10 deletions vta/python/vta/testing/simulator.py
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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

Expand Down

0 comments on commit 20a6c53

Please sign in to comment.