commit | 78a6ea6b31d14ae694ca75e50a925e25d599c187 | [log] [tgz] |
---|---|---|
author | Lun Dong <lundong@google.com> | Wed Jun 05 17:35:43 2024 +0000 |
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | Wed Jun 05 17:35:43 2024 +0000 |
tree | ea6f5e41facc38794f68bb60bf6f20445598e540 | |
parent | 3a0d091ea9323ccfdb115066fee1e93d1751ff63 [diff] |
Revert "Fix the latest breakage by defining IREE_TIME_NOW_FN" This reverts commit 3a0d091ea9323ccfdb115066fee1e93d1751ff63. Reason for revert: upstream issue fixed and merged. Change-Id: I21b3840bdeba2acdc4c0f66afc2c739f31400f23
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 or Kelvin).
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>/sw/kelvin
<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 go to the top level directory.
For Springbok
cmake -B <output dir> -G Ninja \ -DCMAKE_TOOLCHAIN_FILE="$(realpath sw/vec_iree/cmake/riscv_iree.cmake)" \ -DCMAKE_BUILD_TYPE=MinSizeRel \ -DIREE_HOST_BIN_DIR="$(IREE_COMPILER_DIR)/install/bin" \ -DRISCV_TOOLCHAIN_ROOT=$(TOOLCHAINRV32_PATH) \ <dir>/sw/vec_iree cmake --build <output dir> --target all
For Kelvin
cmake -B <output dir> -G Ninja \ -DCMAKE_TOOLCHAIN_FILE="$(realpath sw/vec_iree/cmake/riscv_iree_gcc.cmake)" \ -DCMAKE_BUILD_TYPE=MinSizeRel \ -DIREE_HOST_BIN_DIR="$(IREE_COMPILER_DIR)/install/bin" \ -DRISCV_TOOLCHAIN_ROOT=$(TOOLCHAINRV32_PATH) \ <dir>/sw/vec_iree cmake --build <output dir> --target all
You can run RENODE emulation with the built executables. In Shodan repo, sim_springbok
for Renode simulation on Springbok; sim_kelvin
for Renode simulation on Kelvin. Out-of-repo emulation is possible but requires more steps.
In Shodan, this project utilizes LLVM lit
and Python filecheck
to test the ML executable performance. The tests are defined in the *_test.run files under <output dir>
. To run the test, at the Shodan top level directory
lit -a <output dir>
Default is renode tests for Springbok. Add-D RUNNER=kelvin
to enable renode tests for Kelvin. Add-D RUNNER=kelvin_hw
to enable renode tests for Kelvin HW.