Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Hexagon] Add hexagon launcher to apps and add to TVM's build system #9220

Merged
merged 5 commits into from Oct 13, 2021
Merged

[Hexagon] Add hexagon launcher to apps and add to TVM's build system #9220

merged 5 commits into from Oct 13, 2021

Conversation

csullivan
Copy link
Contributor

Goal: Simplify the build system for running models on hexagon.

This PR moves the hexagon launcher to be a tvm application (in tvm/apps). It also introduces the USE_HEXAGON_LAUNCHER build flag to build the launcher and all dependencies alongside a standard TVM build which consolidates the number of manual build steps from five to one.

(1) libtvm.so (x86_64)

(2) launcher_android (android-aarch64)
(3)  └─►libtvm_runtime.so (android-aarch64)

(4) liblauncher_rpc_skel.so (hexagon)
(5)  └─►libtvm_runtime.a (hexagon)

Also added a section on Compilation with TVM to the launcher readme.

hexagon launcher along with a standard TVM build.
instructions on how to build the launcher
alongside TVM.
structure and group common code into
cmake/HexagonLauncher.cmake.
@csullivan
Copy link
Contributor Author

@kparzysz-quic

@kparzysz-quic
Copy link
Contributor

This is great!

I just started testing it, and the first thing I saw was a bunch of warnings from the Android NDK cmake:

ndk-bundle/build/cmake/android.toolchain.cmake:449 (message):
  An old version of CMake is being used that cannot automatically detect
  compiler attributes.  Compiler identification is being bypassed.  Some
  values may be wrong or missing.  Update to CMake 3.19 or newer to use
  CMake's built-in compiler identification.

I'm using cmake 3.17, the NDK bundle version in my SDK is 22.1.7171670. These warning are most likely safe to ignore, but maybe there could be a note about it somewhere? Your call, I'm fine either way.

Copy link
Contributor

@kparzysz-quic kparzysz-quic left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks!

@kparzysz-quic kparzysz-quic merged commit 9cd07e4 into apache:main Oct 13, 2021
@csullivan csullivan deleted the app/hexagon_launcher branch October 13, 2021 16:16
masahi pushed a commit to Laurawly/tvm-1 that referenced this pull request Oct 14, 2021
…pache#9220)

* Add USE_HEXAGON_LAUNCHER cmake configuration to build the android
hexagon launcher along with a standard TVM build.

* Update hexagon launcher README.md to include
instructions on how to build the launcher
alongside TVM.

* Move Hexagon launcher into top-level apps directory.

* Refactor hexagon launcher cmake directory
structure and group common code into
cmake/HexagonLauncher.cmake.

* Address CRs from @kparzysz-quic.
ylc pushed a commit to ylc/tvm that referenced this pull request Jan 7, 2022
…pache#9220)

* Add USE_HEXAGON_LAUNCHER cmake configuration to build the android
hexagon launcher along with a standard TVM build.

* Update hexagon launcher README.md to include
instructions on how to build the launcher
alongside TVM.

* Move Hexagon launcher into top-level apps directory.

* Refactor hexagon launcher cmake directory
structure and group common code into
cmake/HexagonLauncher.cmake.

* Address CRs from @kparzysz-quic.
ylc pushed a commit to ylc/tvm that referenced this pull request Jan 13, 2022
…pache#9220)

* Add USE_HEXAGON_LAUNCHER cmake configuration to build the android
hexagon launcher along with a standard TVM build.

* Update hexagon launcher README.md to include
instructions on how to build the launcher
alongside TVM.

* Move Hexagon launcher into top-level apps directory.

* Refactor hexagon launcher cmake directory
structure and group common code into
cmake/HexagonLauncher.cmake.

* Address CRs from @kparzysz-quic.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants