| # Copyright 2023 Google LLC |
| # |
| # Licensed under the Apache License, Version 2.0 (the "License"); |
| # you may not use this file except in compliance with the License. |
| # You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, software |
| # distributed under the License is distributed on an "AS IS" BASIS, |
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| # See the License for the specific language governing permissions and |
| # limitations under the License. |
| |
| include_directories(BEFORE SYSTEM ${CMAKE_CURRENT_BINARY_DIR}) |
| |
| #------------------------------------------------------------------------------- |
| # Build the mlir bytecode modules with iree-compile. Note the last two flags |
| # are for RVV support. |
| #------------------------------------------------------------------------------- |
| |
| sparrow_modules( |
| NAME |
| mobilenet_v1 |
| SRC |
| "mobilenet_v1_0.25_224_float.tflite" |
| C_IDENTIFIER |
| "float_models_mobilenet_v1" |
| FLAGS |
| "-iree-input-type=tosa" |
| RVV_OFF |
| ) |
| |
| sparrow_modules( |
| NAME |
| mnist |
| SRC |
| "$ENV{ROOTDIR}/toolchain/iree/samples/models/mnist.mlir" |
| C_IDENTIFIER |
| "float_models_mnist" |
| FLAGS |
| "-iree-input-type=stablehlo" |
| RVV_OFF |
| ) |
| |
| #------------------------------------------------------------------------------- |
| # Binaries to execute the IREE model input |
| #------------------------------------------------------------------------------- |
| |
| iree_model_input( |
| NAME |
| mobilenet_input |
| SHAPE |
| "1, 224, 224, 3" |
| SRC |
| "https://storage.googleapis.com/download.tensorflow.org/ \ |
| example_images/YellowLabradorLooking_new.jpg" |
| ) |
| |
| iree_model_input( |
| NAME |
| mnist_input |
| SHAPE |
| "1, 28, 28, 1" |
| SRC |
| "https://github.com/google/iree/raw/ \ |
| 1e8d1fa96057c47d1fda918f3a2f71f14b073937/samples/iree_vision_inference/mnist_test.png" |
| RANGE |
| "0, 1" |
| ) |
| |
| #------------------------------------------------------------------------------- |
| # Binaries to execute the MLIR bytecode modules |
| #------------------------------------------------------------------------------- |
| |
| |
| # If the program requires a larger stack size, add |
| # |
| # LINKOPTS |
| # "LINKER:--defsym=__stack_size__=<new stack size>" |
| # |
| # to increase it. |
| |
| # Do not compile following models for Kelvin |
| if (${BUILD_WITH_KELVIN}) |
| return() |
| endif() |
| |
| iree_cc_binary( |
| NAME |
| mobilenet_v1_bytecode_static |
| SRCS |
| "iree_exec/mobilenet_v1.c" |
| DEPS |
| ::mobilenet_input_c |
| ::mobilenet_v1_bytecode_module_static_c |
| ::mobilenet_v1_bytecode_module_static_lib |
| iree::vm::bytecode::module |
| model_util::util_static |
| LINKOPTS |
| "LINKER:--defsym=__stack_size__=200k" |
| ) |
| |
| sparrow_test( |
| NAME |
| mobilenet_v1_emitc_static |
| SRCS |
| "iree_exec/mobilenet_v1.c" |
| DEPS |
| ::mobilenet_input_c |
| ::mobilenet_v1_c_module_static_emitc |
| ::mobilenet_v1_c_module_static_lib |
| model_util::util_static |
| LINKOPTS |
| "LINKER:--defsym=__stack_size__=200k" |
| COPTS |
| "-DBUILD_EMITC" |
| TESTFILES |
| "iree_exec/mobilenet_v1_test.run" |
| "iree_exec/mobilenet_v1_test.filecheck" |
| ) |
| |
| iree_cc_binary( |
| NAME |
| mnist_bytecode_static |
| SRCS |
| "iree_exec/mnist.c" |
| DEPS |
| ::mnist_bytecode_module_static_c |
| ::mnist_bytecode_module_static_lib |
| ::mnist_input_c |
| iree::vm::bytecode::module |
| model_util::util_static |
| LINKOPTS |
| "LINKER:--defsym=__stack_size__=100k" |
| "LINKER:--defsym=__heap_size__=512k" |
| ) |
| |
| sparrow_test( |
| NAME |
| mnist_emitc_static |
| SRCS |
| "iree_exec/mnist.c" |
| DEPS |
| ::mnist_c_module_static_emitc |
| ::mnist_c_module_static_lib |
| ::mnist_input_c |
| model_util::util_static |
| LINKOPTS |
| "LINKER:--defsym=__stack_size__=100k" |
| "LINKER:--defsym=__heap_size__=512k" |
| COPTS |
| "-DBUILD_EMITC" |
| TESTFILES |
| "iree_exec/mnist_test.run" |
| "iree_exec/mnist_test.filecheck" |
| ) |