Hexagon & tvm with Dragonboard 845c

I’ve recently started to make use of a dragon board 845c which as far as Arm dev boards go is very capable. As such I’m looking to make use of the Hexagon given it’s integrated into tvm.

The following however fails :

tvm_targets = tvm.target.Hexagon()
target_host="llvm"

ctx = tvm.runtime.context("cpu")

with tvm.transform.PassContext(opt_level=3):
    graph_mod = relay.build(mod, tvm_targets, params=params,target_host=target_host)

The config.make is setup with set(USE_HEXAGON_DEVICE target) set(USE_HEXAGON_SDK /ai/tgall/Hexagon_SDK)

This fails with OSError: /ai/tgall/tvm/build/libtvm.so: undefined symbol: _ZN3tvm7runtime7hexagon22CreateHexagonSimulatorEv

which is tvm::runtime::hexagon::CreateHexagonSimulator()

This is quite odd since the set(USE_HEXAGON_DEVICE sim) setting is more for the intel / cross case and use of the simulator.

Is native use of tvm & hexagon just not supported?

At the moment we don’t support building entire graphs in TVM. We’re plan to work on it soon, but there is no ETA at the moment.

Ok thanks @kparzysz - does this imply we’ll see an update to the Hexagon SDK for native on Arm use? This seems like a critical step.