Add __heap_size__ defines
Also move the output variables to the model_output section.
Change-Id: I6e4be4c35db08a7d2b2475936bfdd232cfc50abf
diff --git a/float_models/CMakeLists.txt b/float_models/CMakeLists.txt
index a3d9458..5b1e99c 100644
--- a/float_models/CMakeLists.txt
+++ b/float_models/CMakeLists.txt
@@ -124,6 +124,7 @@
model_util::util
LINKOPTS
"LINKER:--defsym=__stack_size__=100k"
+ "LINKER:--defsym=__heap_size__=512k"
)
springbok_test(
@@ -138,6 +139,7 @@
model_util::util
LINKOPTS
"LINKER:--defsym=__stack_size__=100k"
+ "LINKER:--defsym=__heap_size__=512k"
COPTS
"-DBUILD_EMITC"
TESTFILES
diff --git a/float_models/iree_exec/mnist.c b/float_models/iree_exec/mnist.c
index 6053033..fb560f4 100644
--- a/float_models/iree_exec/mnist.c
+++ b/float_models/iree_exec/mnist.c
@@ -35,7 +35,7 @@
#endif
#include "mnist_input_c.h"
-MnistOutput score;
+__attribute__((section(".model_output"))) MnistOutput score;
iree_status_t create_module(iree_vm_instance_t *instance,
iree_vm_module_t **module) {
diff --git a/float_models/iree_exec/mobilenet_v1.c b/float_models/iree_exec/mobilenet_v1.c
index 82d9789..0dc5710 100644
--- a/float_models/iree_exec/mobilenet_v1.c
+++ b/float_models/iree_exec/mobilenet_v1.c
@@ -35,7 +35,7 @@
#include "mobilenet_v1_c_module_static_emitc.h"
#endif
-MobilenetV1Output score;
+__attribute__((section(".model_output"))) MobilenetV1Output score;
iree_status_t create_module(iree_vm_instance_t *instance,
iree_vm_module_t **module) {
diff --git a/quant_models/CMakeLists.txt b/quant_models/CMakeLists.txt
index 0c5dc39..426c58c 100644
--- a/quant_models/CMakeLists.txt
+++ b/quant_models/CMakeLists.txt
@@ -11,15 +11,15 @@
springbok_modules(
NAME
- mobilenet_v1
+ mobilenet_v1
SRC
- "mobilenet_v1_0.25_224_quant.tflite"
+ "mobilenet_v1_0.25_224_quant.tflite"
C_IDENTIFIER
- "quant_models_mobilenet_v1"
+ "quant_models_mobilenet_v1"
FLAGS
- "-iree-input-type=tosa"
- "-riscv-v-vector-bits-min=512"
- "-riscv-v-fixed-length-vector-lmul-max=8"
+ "-iree-input-type=tosa"
+ "-riscv-v-vector-bits-min=512"
+ "-riscv-v-fixed-length-vector-lmul-max=8"
PUBLIC
)
@@ -39,15 +39,15 @@
springbok_modules(
NAME
- person_detection
+ person_detection
SRC
- "person_detection.tflite"
+ "person_detection.tflite"
C_IDENTIFIER
- "quant_models_person_detection"
+ "quant_models_person_detection"
FLAGS
- "-iree-input-type=tosa"
- "-riscv-v-vector-bits-min=512"
- "-riscv-v-fixed-length-vector-lmul-max=8"
+ "-iree-input-type=tosa"
+ "-riscv-v-vector-bits-min=512"
+ "-riscv-v-fixed-length-vector-lmul-max=8"
PUBLIC
)
@@ -57,22 +57,22 @@
iree_model_input(
NAME
- mobilenet_quant_input
+ mobilenet_quant_input
SHAPE
- "1, 224, 224, 3"
+ "1, 224, 224, 3"
SRC
- "https://storage.googleapis.com/download.tensorflow.org/ \
+ "https://storage.googleapis.com/download.tensorflow.org/ \
example_images/YellowLabradorLooking_new.jpg"
QUANT
)
iree_model_input(
NAME
- person_detection_quant_input
+ person_detection_quant_input
SHAPE
- "1, 96, 96, 1"
+ "1, 96, 96, 1"
SRC
- "https://github.com/tensorflow/tflite-micro/raw/aeac6f39e5c7475cea20c54e86d41e3a38312546/ \
+ "https://github.com/tensorflow/tflite-micro/raw/aeac6f39e5c7475cea20c54e86d41e3a38312546/ \
tensorflow/lite/micro/examples/person_detection/testdata/person.bmp"
QUANT
)
@@ -135,6 +135,7 @@
model_util::util
LINKOPTS
"LINKER:--defsym=__stack_size__=300k"
+ "LINKER:--defsym=__heap_size__=2m"
)
springbok_test(
@@ -149,6 +150,7 @@
model_util::util
LINKOPTS
"LINKER:--defsym=__stack_size__=300k"
+ "LINKER:--defsym=__heap_size__=2m"
COPTS
"-DBUILD_EMITC"
TESTFILES
@@ -169,6 +171,7 @@
model_util::util
LINKOPTS
"LINKER:--defsym=__stack_size__=128k"
+ "LINKER:--defsym=__heap_size__=200k"
)
springbok_test(
@@ -183,6 +186,7 @@
model_util::util
LINKOPTS
"LINKER:--defsym=__stack_size__=128k"
+ "LINKER:--defsym=__heap_size__=200k"
COPTS
"-DBUILD_EMITC"
TESTFILES
diff --git a/quant_models/iree_exec/mobilenet_v1.c b/quant_models/iree_exec/mobilenet_v1.c
index dd7e8e9..f67f310 100644
--- a/quant_models/iree_exec/mobilenet_v1.c
+++ b/quant_models/iree_exec/mobilenet_v1.c
@@ -35,7 +35,7 @@
#include "mobilenet_v1_c_module_static_emitc.h"
#endif
-MobilenetV1Output score;
+__attribute__((section(".model_output"))) MobilenetV1Output score;
iree_status_t create_module(iree_vm_instance_t *instance,
iree_vm_module_t **module) {
diff --git a/quant_models/iree_exec/mobilenet_v2.c b/quant_models/iree_exec/mobilenet_v2.c
index 74caa34..9169ee2 100644
--- a/quant_models/iree_exec/mobilenet_v2.c
+++ b/quant_models/iree_exec/mobilenet_v2.c
@@ -35,7 +35,7 @@
#include "mobilenet_v2_c_module_static_emitc.h"
#endif
-MobilenetV2Output score;
+__attribute__((section(".model_output"))) MobilenetV2Output score;
iree_status_t create_module(iree_vm_instance_t *instance,
iree_vm_module_t **module) {
diff --git a/quant_models/iree_exec/person_detection.c b/quant_models/iree_exec/person_detection.c
index 93de25b..04e26f1 100644
--- a/quant_models/iree_exec/person_detection.c
+++ b/quant_models/iree_exec/person_detection.c
@@ -35,7 +35,7 @@
#endif
#include "person_detection_quant_input_c.h"
-PersonDetectionOutput detection;
+__attribute__((section(".model_output"))) PersonDetectionOutput detection;
iree_status_t create_module(iree_vm_instance_t *instance,
iree_vm_module_t **module) {