[RUNTIME] Initial implementation of Hexagon runtime support (#5252)
authorKrzysztof Parzyszek <kparzysz@quicinc.com>
Fri, 10 Apr 2020 13:47:59 +0000 (08:47 -0500)
committerGitHub <noreply@github.com>
Fri, 10 Apr 2020 13:47:59 +0000 (21:47 +0800)
commit02d3a59b962cfce9dc9200d530f0f5ca62181076
tree9669c3e15d449c0d7ba7171018135a50c749a878
parentf0f036478cd820254cd25f0d3bea1fd9fbd40528
[RUNTIME] Initial implementation of Hexagon runtime support (#5252)

* [RUNTIME] Initial implementation of Hexagon runtime support

This is only the TVM runtime. The FastRPC libraries, simulator driver,
etc. will be provided in subsequent commits.

* Fix pylint complaints

* Fix some more pylint complaints

* Add link to the Hexagon SDK website

* Extract VTCM marker into a common variable

* Implement device->device memory copy

* Disable unsigned PDs by default

* Ensure that --hvx_length is present in sim_args if HVX is enabled

* Remove the line about clang from README.md

Apparently things work with libstdc++.

* Mention to set USE_RPC=OFF when building libtvm_runtime.so for Hexagon

* Remember to use codegen_hvx in validate_hvx_length

* Add a line about minimum version of LLVM
29 files changed:
CMakeLists.txt
cmake/config.cmake
cmake/modules/Hexagon.cmake [new file with mode: 0644]
include/tvm/runtime/c_runtime_api.h
include/tvm/runtime/device_api.h
include/tvm/target/target.h
jvm/core/src/main/java/org/apache/tvm/TVMContext.java
python/tvm/__init__.py
python/tvm/_ffi/runtime_ctypes.py
python/tvm/runtime/ndarray.py
python/tvm/target/__init__.py
python/tvm/target/target.py
src/runtime/hexagon/README.md [new file with mode: 0644]
src/runtime/hexagon/hexagon_device_api.cc [new file with mode: 0644]
src/runtime/hexagon/hexagon_module.cc [new file with mode: 0644]
src/runtime/hexagon/hexagon_module.h [new file with mode: 0644]
src/runtime/hexagon/hexagon_posix.cc [new file with mode: 0644]
src/runtime/hexagon/sim/hexagon_device_sim.cc [new file with mode: 0644]
src/runtime/hexagon/sim/hexagon_sim_proto.h [new file with mode: 0644]
src/runtime/hexagon/target/fastrpc/tvm_hexagon_remote.h [new file with mode: 0644]
src/runtime/hexagon/target/fastrpc/tvm_hexagon_remote_nd.h [new file with mode: 0644]
src/runtime/hexagon/target/hexagon_device_target.cc [new file with mode: 0644]
src/runtime/hexagon/target/hexagon_dsprpcapi.cc [new file with mode: 0644]
src/runtime/hexagon/target/hexagon_dsprpcapi.h [new file with mode: 0644]
src/runtime/hexagon/target/hexagon_stubapi.cc [new file with mode: 0644]
src/runtime/hexagon/target/hexagon_stubapi.h [new file with mode: 0644]
src/runtime/hexagon/target/hexagon_target_log.h [new file with mode: 0644]
src/target/opt/build_hexagon_off.cc [new file with mode: 0644]
src/target/target.cc