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 0000000000000000000000000000000000000000..4f44773ae901606c0ace5fe9af39099acf722498 --- /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 abf21b27468454796bfc7eba0ac0c96ce81d661e..61c6ba501f96336f79a065ae1a934b9ad1a1941b 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 3ce732ab52894d15c5ffa2c919bc873d64e6573d..2714aa9b66c360b12bd67e14ae348c798dadbf1f 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 59f218737082ad8a357672b18253b6d577365aa0..87d94337957a60517dd38c69ea5c59304ceb564d 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 16dbbdb7c541d47efab5f9233d1d429c1a3e76dc..9ccc67ecc078c33688924a2b986b1af0617bd561 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 bb1e5f4974e99dc424b36268b4f7bba6745a6804..be4665700254eed32c28f430f15ad86f15794136 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 7c4148ca57c2665ca09da8e6f427db75ab19f88d..bbd514cc6a8df679182ee6f3305bd9d8a5c00e32 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 47973085549ba344478970fa60186c56f965481b..b4312f7514bdde3b26886caabfc5191fae174a33 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,