| # For the generated header files, include the generated directory path. |
| # It is against the c-style recommendation, but we want to create a symlink of |
| # this directory to ml/ml-models for the internal model zoo so all the models |
| # can be built there. |
| 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. |
| #------------------------------------------------------------------------------- |
| |
| springbok_modules( |
| NAME |
| mobilenet_v1 |
| SRC |
| "mobilenet_v1_0.25_224_float.tflite" |
| C_IDENTIFIER |
| "float_models_mobilenet_v1" |
| FLAGS |
| "-iree-input-type=tosa" |
| "-riscv-v-vector-bits-min=512" |
| "-riscv-v-fixed-length-vector-lmul-max=8" |
| RVV_OFF |
| PUBLIC |
| ) |
| |
| springbok_modules( |
| NAME |
| mnist |
| SRC |
| "$ENV{ROOTDIR}/toolchain/iree/samples/models/mnist.mlir" |
| C_IDENTIFIER |
| "float_models_mnist" |
| FLAGS |
| "-iree-input-type=mhlo" |
| "-riscv-v-vector-bits-min=512" |
| "-riscv-v-fixed-length-vector-lmul-max=8" |
| RVV_OFF |
| PUBLIC |
| ) |
| |
| #------------------------------------------------------------------------------- |
| # 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. |
| |
| iree_cc_binary( |
| NAME |
| mobilenet_v1_bytecode_static |
| SRCS |
| "iree_exec/mobilenet_v1.c" |
| DEPS |
| ::mobilenet_v1_bytecode_module_static_c |
| ::mobilenet_v1_bytecode_module_static_lib |
| ::mobilenet_input_c |
| iree::vm::bytecode_module |
| model_util::util_static |
| LINKOPTS |
| "LINKER:--defsym=__stack_size__=200k" |
| ) |
| |
| springbok_test( |
| NAME |
| mobilenet_v1_emitc_static |
| SRCS |
| "iree_exec/mobilenet_v1.c" |
| DEPS |
| ::mobilenet_v1_c_module_static_emitc |
| ::mobilenet_v1_c_module_static_lib |
| ::mobilenet_input_c |
| 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" |
| ) |
| |
| springbok_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" |
| ) |