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 0000000000000000000000000000000000000000..4f44773ae901606c0ace5fe9af39099acf722498 --- /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 8f0d486457f07102695f38433243784f756feb6c..993cdda6bb2661be89993c076d1f8f49f93c71a8 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 3bd5ea111bddf2f4cca2fcc401fc3b5bb3256833..341b0680c7d858142579002b6c35a61b0d132151 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 82f6106ce1ca5bac47cba48ceb66814a651d029a..e30856e2508b74602880258eb3d8354f5bb330e6 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 3b853ca1eef4d37027fa9aa70e002d166a2f6a13..d0d223fc17b1e667d2f5893b7861d06854c84690 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 6511320fe5e729f35c8d725e80b9f9fde6d1b199..a444da2d018a0d07a256d670df48cb5a280bc6b9 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 056746e13f1b33bebfd4d626ccc346aedd20b3f8..a9d67c9b31cadc76d8eef4368ff8b62e61362397 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 fe0fa34ed894b6aae9a386249df96e4b22079e21..aba4899919b7c701b315ec19cf27a2c5ab368a96 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 13a8c6145dbf40c83f454feb1906398aa09f72d0..ec7f44b19da88b59503d9cd22ccfbf9d59d36e46 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 70b8b72ca8a69154907394a5273e3925f7075e2d..02b21292cd7ffc97e9a3e5dca53c484a2e75f072 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 1bf7fc6347666bef42f3504b4c34ca0f7f19229e..b86b41c2631af080f59b163dbe59c9efe68dd548 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);