From a0dc9e6ecaa0e7a8696cac36b52b64ad946d4d42 Mon Sep 17 00:00:00 2001 From: cmoineau <cyril.moineau@cea.fr> Date: Thu, 10 Oct 2024 12:59:41 +0000 Subject: [PATCH] Adapt forward to output nodes of exports being pointer of pointer. --- .../_Aidge_Arm/templates/forward_call/_mem_offset.jinja | 3 +++ .../_Aidge_Arm/templates/forward_call/add.jinja | 5 ++--- .../_Aidge_Arm/templates/forward_call/atan.jinja | 5 ++--- .../_Aidge_Arm/templates/forward_call/concat.jinja | 5 ++--- .../_Aidge_Arm/templates/forward_call/conv_kernel.jinja | 5 ++--- .../_Aidge_Arm/templates/forward_call/fc_kernel.jinja | 5 ++--- .../_Aidge_Arm/templates/forward_call/mul.jinja | 5 ++--- .../_Aidge_Arm/templates/forward_call/pool_kernel.jinja | 5 ++--- .../_Aidge_Arm/templates/forward_call/relu.jinja | 5 ++--- .../_Aidge_Arm/templates/forward_call/slice.jinja | 5 ++--- .../_Aidge_Arm/templates/forward_call/sub.jinja | 5 ++--- 11 files changed, 23 insertions(+), 30 deletions(-) create mode 100644 aidge_export_arm_cortexm/_Aidge_Arm/templates/forward_call/_mem_offset.jinja diff --git a/aidge_export_arm_cortexm/_Aidge_Arm/templates/forward_call/_mem_offset.jinja b/aidge_export_arm_cortexm/_Aidge_Arm/templates/forward_call/_mem_offset.jinja new file mode 100644 index 0000000..4f44773 --- /dev/null +++ b/aidge_export_arm_cortexm/_Aidge_Arm/templates/forward_call/_mem_offset.jinja @@ -0,0 +1,3 @@ +{% for outidx in range(nb_out) -%} +{{out_cdtype[outidx]}}* {{out_name[outidx]}} = ({{out_cdtype[outidx]}}*) mem + {{out_name[outidx]|upper}}_OFFSET; +{% endfor %} diff --git a/aidge_export_arm_cortexm/_Aidge_Arm/templates/forward_call/add.jinja b/aidge_export_arm_cortexm/_Aidge_Arm/templates/forward_call/add.jinja index 8f0d486..993cdda 100644 --- a/aidge_export_arm_cortexm/_Aidge_Arm/templates/forward_call/add.jinja +++ b/aidge_export_arm_cortexm/_Aidge_Arm/templates/forward_call/add.jinja @@ -1,6 +1,5 @@ -{% if not is_output %} -{{out_cdtype[0]}}* {{out_name[0]}} = ({{out_cdtype[0]}}*) mem + {{out_name[0]|upper}}_OFFSET; -{% endif %} +{% include "./_mem_offset.jinja" %} + aidge_add_float32( {{in_name[0]}}, {{in_name[1]}}, diff --git a/aidge_export_arm_cortexm/_Aidge_Arm/templates/forward_call/atan.jinja b/aidge_export_arm_cortexm/_Aidge_Arm/templates/forward_call/atan.jinja index 3bd5ea1..341b068 100644 --- a/aidge_export_arm_cortexm/_Aidge_Arm/templates/forward_call/atan.jinja +++ b/aidge_export_arm_cortexm/_Aidge_Arm/templates/forward_call/atan.jinja @@ -1,4 +1,3 @@ -{% if not is_output %} -{{out_cdtype[0]}}* {{out_name[0]}} = ({{out_cdtype[0]}}*) mem + {{out_name[0]|upper}}_OFFSET; -{% endif %} +{% include "./_mem_offset.jinja" %} + aidge_atan <{{name|upper}}_OUTPUTS_SIZE> ({{in_name[0]}}, {{out_name[0]}}); diff --git a/aidge_export_arm_cortexm/_Aidge_Arm/templates/forward_call/concat.jinja b/aidge_export_arm_cortexm/_Aidge_Arm/templates/forward_call/concat.jinja index 82f6106..e30856e 100644 --- a/aidge_export_arm_cortexm/_Aidge_Arm/templates/forward_call/concat.jinja +++ b/aidge_export_arm_cortexm/_Aidge_Arm/templates/forward_call/concat.jinja @@ -1,6 +1,5 @@ -{% if not is_output %} -{{out_cdtype[0]}}* {{out_name[0]}} = ({{out_cdtype[0]}}*) mem + {{out_name[0]|upper}}_OFFSET; -{% endif %} +{% include "./_mem_offset.jinja" %} + float* {{ name|upper }}_INPUTS[] = { {%- for i in range(nb_in) -%} diff --git a/aidge_export_arm_cortexm/_Aidge_Arm/templates/forward_call/conv_kernel.jinja b/aidge_export_arm_cortexm/_Aidge_Arm/templates/forward_call/conv_kernel.jinja index 3b853ca..d0d223f 100644 --- a/aidge_export_arm_cortexm/_Aidge_Arm/templates/forward_call/conv_kernel.jinja +++ b/aidge_export_arm_cortexm/_Aidge_Arm/templates/forward_call/conv_kernel.jinja @@ -1,6 +1,5 @@ -{% if not is_output %} -{{out_cdtype[0]}}* {{out_name[0]}} = ({{out_cdtype[0]}}*) mem + {{out_name[0]|upper}}_OFFSET; -{% endif %} +{% include "./_mem_offset.jinja" %} + N2D2_Export::convcellPropagate<{{ in_name[0]|upper }}_NB_CHANNELS, {{ in_name[0]|upper }}_IN_HEIGHT, {{ in_name[0]|upper }}_IN_WIDTH, diff --git a/aidge_export_arm_cortexm/_Aidge_Arm/templates/forward_call/fc_kernel.jinja b/aidge_export_arm_cortexm/_Aidge_Arm/templates/forward_call/fc_kernel.jinja index 6511320..a444da2 100644 --- a/aidge_export_arm_cortexm/_Aidge_Arm/templates/forward_call/fc_kernel.jinja +++ b/aidge_export_arm_cortexm/_Aidge_Arm/templates/forward_call/fc_kernel.jinja @@ -1,6 +1,5 @@ -{% if not is_output %} -{{out_cdtype[0]}}* {{out_name[0]}} = ({{out_cdtype[0]}}*) mem + {{out_name[0]|upper}}_OFFSET; -{% endif %} +{% include "./_mem_offset.jinja" %} + N2D2_Export::fccellPropagate<{{ in_name[0] | upper }}_NB_CHANNELS, {{ in_name[0] | upper }}_IN_HEIGHT, {{ in_name[0] | upper }}_IN_WIDTH, diff --git a/aidge_export_arm_cortexm/_Aidge_Arm/templates/forward_call/mul.jinja b/aidge_export_arm_cortexm/_Aidge_Arm/templates/forward_call/mul.jinja index 056746e..a9d67c9 100644 --- a/aidge_export_arm_cortexm/_Aidge_Arm/templates/forward_call/mul.jinja +++ b/aidge_export_arm_cortexm/_Aidge_Arm/templates/forward_call/mul.jinja @@ -1,6 +1,5 @@ -{% if not is_output %} -{{out_cdtype[0]}}* {{out_name[0]}} = ({{out_cdtype[0]}}*) mem + {{out_name[0]|upper}}_OFFSET; -{% endif %} +{% include "./_mem_offset.jinja" %} + aidge_mul_float32( {{in_name[0]}}, {{in_name[1]}}, diff --git a/aidge_export_arm_cortexm/_Aidge_Arm/templates/forward_call/pool_kernel.jinja b/aidge_export_arm_cortexm/_Aidge_Arm/templates/forward_call/pool_kernel.jinja index fe0fa34..aba4899 100644 --- a/aidge_export_arm_cortexm/_Aidge_Arm/templates/forward_call/pool_kernel.jinja +++ b/aidge_export_arm_cortexm/_Aidge_Arm/templates/forward_call/pool_kernel.jinja @@ -1,6 +1,5 @@ -{% if not is_output %} -{{out_cdtype[0]}}* {{out_name[0]}} = ({{out_cdtype[0]}}*) mem + {{out_name[0]|upper}}_OFFSET; -{% endif %} +{% include "./_mem_offset.jinja" %} + N2D2_Export::poolcellPropagate<{{ in_name[0]|upper }}_NB_CHANNELS, {{ in_name[0]|upper }}_IN_HEIGHT, {{ in_name[0]|upper }}_IN_WIDTH, diff --git a/aidge_export_arm_cortexm/_Aidge_Arm/templates/forward_call/relu.jinja b/aidge_export_arm_cortexm/_Aidge_Arm/templates/forward_call/relu.jinja index 13a8c61..ec7f44b 100644 --- a/aidge_export_arm_cortexm/_Aidge_Arm/templates/forward_call/relu.jinja +++ b/aidge_export_arm_cortexm/_Aidge_Arm/templates/forward_call/relu.jinja @@ -1,4 +1,3 @@ -{% if not is_output %} -{{out_cdtype[0]}}* {{out_name[0]}} = ({{out_cdtype[0]}}*) mem + {{out_name[0]|upper}}_OFFSET; -{% endif %} +{% include "./_mem_offset.jinja" %} + aidge_relu_float32({{in_name[0]}}, {{out_name[0]}}, {{name|upper}}_INPUTS_SIZE); diff --git a/aidge_export_arm_cortexm/_Aidge_Arm/templates/forward_call/slice.jinja b/aidge_export_arm_cortexm/_Aidge_Arm/templates/forward_call/slice.jinja index 70b8b72..02b2129 100644 --- a/aidge_export_arm_cortexm/_Aidge_Arm/templates/forward_call/slice.jinja +++ b/aidge_export_arm_cortexm/_Aidge_Arm/templates/forward_call/slice.jinja @@ -1,4 +1,3 @@ -{% if not is_output %} -{{out_cdtype[0]}}* {{out_name[0]}} = ({{out_cdtype[0]}}*) mem + {{out_name[0]|upper}}_OFFSET; -{% endif %} +{% include "./_mem_offset.jinja" %} + aidge_slice_float32 ({{in_name[0]}}, {{out_name[0]}}, {{name|upper}}_AXES, {{name|upper}}_STARTS, {{name|upper}}_ENDS, {{name|upper}}_NB_AXES, {{name|upper}}_NB_CHANNELS); diff --git a/aidge_export_arm_cortexm/_Aidge_Arm/templates/forward_call/sub.jinja b/aidge_export_arm_cortexm/_Aidge_Arm/templates/forward_call/sub.jinja index 1bf7fc6..b86b41c 100644 --- a/aidge_export_arm_cortexm/_Aidge_Arm/templates/forward_call/sub.jinja +++ b/aidge_export_arm_cortexm/_Aidge_Arm/templates/forward_call/sub.jinja @@ -1,5 +1,4 @@ -{% if not is_output %} -{{out_cdtype[0]}}* {{out_name[0]}} = ({{out_cdtype[0]}}*) mem + {{out_name[0]|upper}}_OFFSET; -{% endif %} +{% include "./_mem_offset.jinja" %} + aidge_sub_float32({{in_name[0]}}, {{in_name[1]}}, {{out_name[0]}}, {{name|upper}}_OUTPUTS_SIZE); -- GitLab