From a234801dd3ec91d901a316512ce0d15852a36ca3 Mon Sep 17 00:00:00 2001 From: cmoineau <cyril.moineau@cea.fr> Date: Thu, 10 Oct 2024 12:42:48 +0000 Subject: [PATCH] Adapt forward to output nodes of exports being pointer of pointer. --- aidge_export_cpp/templates/kernel_forward/_mem_offset.jinja | 3 +++ .../templates/kernel_forward/activation_forward.jinja | 5 ++--- .../templates/kernel_forward/batchnorm_forward.jinja | 2 ++ .../templates/kernel_forward/convolution_forward.jinja | 5 ++--- .../templates/kernel_forward/elemwise_forward.jinja | 5 ++--- .../templates/kernel_forward/fullyconnected_forward.jinja | 5 ++--- .../templates/kernel_forward/leakyrelu_forward.jinja | 2 ++ .../templates/kernel_forward/pooling_forward.jinja | 5 ++--- 8 files changed, 17 insertions(+), 15 deletions(-) create mode 100644 aidge_export_cpp/templates/kernel_forward/_mem_offset.jinja diff --git a/aidge_export_cpp/templates/kernel_forward/_mem_offset.jinja b/aidge_export_cpp/templates/kernel_forward/_mem_offset.jinja new file mode 100644 index 0000000..4f44773 --- /dev/null +++ b/aidge_export_cpp/templates/kernel_forward/_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_cpp/templates/kernel_forward/activation_forward.jinja b/aidge_export_cpp/templates/kernel_forward/activation_forward.jinja index abf21b2..61c6ba5 100644 --- a/aidge_export_cpp/templates/kernel_forward/activation_forward.jinja +++ b/aidge_export_cpp/templates/kernel_forward/activation_forward.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" %} + activation_forward<{{name|upper}}_NB_DATA, {{name|upper}}_ACTIVATION> ({{in_name[0]}}, {{out_name[0]}}, {{name|upper}}_RESCALING); diff --git a/aidge_export_cpp/templates/kernel_forward/batchnorm_forward.jinja b/aidge_export_cpp/templates/kernel_forward/batchnorm_forward.jinja index 3ce732a..2714aa9 100644 --- a/aidge_export_cpp/templates/kernel_forward/batchnorm_forward.jinja +++ b/aidge_export_cpp/templates/kernel_forward/batchnorm_forward.jinja @@ -1,3 +1,5 @@ +{% include "./_mem_offset.jinja" %} + batchnorm_forward<{{ out_name[0]|upper }}_NB_OUTPUTS, {{ out_name[0]|upper }}_OUT_HEIGHT, {{ out_name[0]|upper }}_OUT_WIDTH, diff --git a/aidge_export_cpp/templates/kernel_forward/convolution_forward.jinja b/aidge_export_cpp/templates/kernel_forward/convolution_forward.jinja index 59f2187..87d9433 100644 --- a/aidge_export_cpp/templates/kernel_forward/convolution_forward.jinja +++ b/aidge_export_cpp/templates/kernel_forward/convolution_forward.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" %} + convolution_forward<{{ in_name[0]|upper }}_NB_CHANNELS, {{ in_name[0]|upper }}_IN_HEIGHT, {{ in_name[0]|upper }}_IN_WIDTH, diff --git a/aidge_export_cpp/templates/kernel_forward/elemwise_forward.jinja b/aidge_export_cpp/templates/kernel_forward/elemwise_forward.jinja index 16dbbdb..9ccc67e 100644 --- a/aidge_export_cpp/templates/kernel_forward/elemwise_forward.jinja +++ b/aidge_export_cpp/templates/kernel_forward/elemwise_forward.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" %} + elemwise_forward<{{name|upper}}_NB_ELTS, {{name|upper}}_ELEM_OP, {{name|upper}}_ACTIVATION> diff --git a/aidge_export_cpp/templates/kernel_forward/fullyconnected_forward.jinja b/aidge_export_cpp/templates/kernel_forward/fullyconnected_forward.jinja index bb1e5f4..be46657 100644 --- a/aidge_export_cpp/templates/kernel_forward/fullyconnected_forward.jinja +++ b/aidge_export_cpp/templates/kernel_forward/fullyconnected_forward.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" %} + fullyconnected_forward<{{ in_name[0]|upper }}_NB_CHANNELS, {{ in_name[0]|upper }}_IN_HEIGHT, {{ in_name[0]|upper }}_IN_WIDTH, diff --git a/aidge_export_cpp/templates/kernel_forward/leakyrelu_forward.jinja b/aidge_export_cpp/templates/kernel_forward/leakyrelu_forward.jinja index 7c4148c..bbd514c 100644 --- a/aidge_export_cpp/templates/kernel_forward/leakyrelu_forward.jinja +++ b/aidge_export_cpp/templates/kernel_forward/leakyrelu_forward.jinja @@ -1,3 +1,5 @@ +{% include "./_mem_offset.jinja" %} + leakyrelu_forward<{{name|upper}}_NB_DATA> ({{input_name}}, {{output_name}}, {{name|upper}}_ALPHA); {% include "./_save_outputs.jinja" %} diff --git a/aidge_export_cpp/templates/kernel_forward/pooling_forward.jinja b/aidge_export_cpp/templates/kernel_forward/pooling_forward.jinja index 4797308..b4312f7 100644 --- a/aidge_export_cpp/templates/kernel_forward/pooling_forward.jinja +++ b/aidge_export_cpp/templates/kernel_forward/pooling_forward.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" %} + pooling_forward<{{ in_name[0]|upper }}_NB_CHANNELS, {{ in_name[0]|upper }}_IN_HEIGHT, {{ in_name[0]|upper }}_IN_WIDTH, -- GitLab