commit | e7281bdd234bf988699ee366043d4aa71725fca0 | [log] [tgz] |
---|---|---|
author | Lun Dong <lundong@google.com> | Mon Jun 13 11:53:13 2022 -0700 |
committer | Lun Dong <lundong@google.com> | Thu Jun 23 10:43:55 2022 -0700 |
tree | d793ef77667955a0f3e3216127be2c89ee03fd24 | |
parent | 4b5bede2fcbbd3d1552f1cbd65c12235c4b331ab [diff] |
API Changes for fast-forwording to latest IREE release with reduced code-size fix API changes for accommodating lastest IREE release. Remaining issues: - Needed stack size is significantly increased - ITCM size for mobilenet_v1_float increased from 1M to 1.5M - ITCM size for some models is still >1M after this reduced code size fix and they are still disabled for now. BUG: 229642620 Change-Id: I7e514bec0a5d6bc0d8dfa902a2a903b9bbc36090
This project contains ML model codegen and execution libraries/examples. The artifacts built from this project is targeted for RISC-V 32-bit baremetal machine (Springbok).
If you get this project from Project Shodan manifest, you are all set. If not, you need to have following projects as well to build the project successfully.
<dir>/sw/vec
<dir>/toolchain/iree
<dir>/ml/ml-models-public
This project needs to be at <dir>/sw/vec_iree
If you are running from Project Shodan repo, you can build the artifacts with m iree
. If you download this project alone, you need to download/build IREE's host compiler, then at the top level directory
cmake -B <output dir> -G Ninja \ -DCMAKE_TOOLCHAIN_FILE="$(realpath sw/vec_iree/cmake/riscv_iree.cmake)" \ -DCMAKE_BUILD_TYPE=MinSizeRel \ -DIREE_HOST_BINARY_ROOT="$(IREE_COMPILER_DIR)/install" \ -DRISCV_TOOLCHAIN_ROOT=$(TOOLCHAINRV32_PATH) \ <dir>/sw/vec_iree cmake --build <output dir> --target all
You can run QEMU or RENODE emulation with the built executables. In Shodan repo, qemu_sim_springbok
for QEMU emulation, and sim_springbok
for Renode simulation. Out-of-repo emulation is possible but require more steps.
In Shodan, this project utilizes LLVM lit
and FileCheck
to test the ML executable performance. The tests are defined in the *_test.txt files under samples
. To run the test, at the Shodan top level directory
lit --path <Filecheck dir> -a sw/vec_iree/samples
Filecheck in Debian testing is under /usr/lib/llvm-11/bin
Add -D FEATURES=internal
to enable the internal model tests. Add -D RUNNER=qemu
to enable the qemu tests.