Skip to content
Snippets Groups Projects
Commit 10bfb0ac authored by Thibault Allenet's avatar Thibault Allenet
Browse files

Rename "custom" into "Lowbit"

parent c012abcc
No related branches found
No related tags found
2 merge requests!19UPD: version 0.1.0 -> 0.1.1,!16Low bit support
Pipeline #61831 passed
...@@ -54,7 +54,7 @@ template<int NB_CHANNELS, ...@@ -54,7 +54,7 @@ template<int NB_CHANNELS,
typename Sum_T, typename Input_T, typename Output_T, typename Sum_T, typename Input_T, typename Output_T,
typename Weight_T, typename Bias_T, typename Rescaling_T> typename Weight_T, typename Bias_T, typename Rescaling_T>
__attribute__((always_inline)) inline static __attribute__((always_inline)) inline static
void customconvcellPropagate(const Input_T* __restrict inputs, void lowbitconvcellPropagate(const Input_T* __restrict inputs,
Output_T* __restrict outputs, Output_T* __restrict outputs,
const Bias_T* __restrict biasses, const Bias_T* __restrict biasses,
const Weight_T* __restrict weights, const Weight_T* __restrict weights,
......
...@@ -37,7 +37,7 @@ template<int NB_CHANNELS, int CHANNELS_HEIGHT, int CHANNELS_WIDTH, ...@@ -37,7 +37,7 @@ template<int NB_CHANNELS, int CHANNELS_HEIGHT, int CHANNELS_WIDTH,
typename Sum_T, typename Input_T, typename Output_T, typename Sum_T, typename Input_T, typename Output_T,
typename Weight_T, typename Bias_T, typename Rescaling_T> typename Weight_T, typename Bias_T, typename Rescaling_T>
__attribute__((always_inline)) inline static __attribute__((always_inline)) inline static
void fccellPropagate(const Input_T* __restrict inputs, void lowbitfccellPropagate(const Input_T* __restrict inputs,
Output_T* __restrict outputs, Output_T* __restrict outputs,
const Bias_T* __restrict biasses, const Bias_T* __restrict biasses,
const Weight_T* __restrict weights, const Weight_T* __restrict weights,
......
...@@ -40,7 +40,7 @@ template<int NB_CHANNELS, int CHANNELS_HEIGHT, int CHANNELS_WIDTH, ...@@ -40,7 +40,7 @@ template<int NB_CHANNELS, int CHANNELS_HEIGHT, int CHANNELS_WIDTH,
Pooling_T POOLING, ActivationFunction_T ACTIVATION, Pooling_T POOLING, ActivationFunction_T ACTIVATION,
typename Input_T, typename Output_T> typename Input_T, typename Output_T>
__attribute__((always_inline)) inline static __attribute__((always_inline)) inline static
void custompoolcellPropagate(const Input_T* __restrict inputs, void lowbitpoolcellPropagate(const Input_T* __restrict inputs,
Output_T* __restrict outputs) Output_T* __restrict outputs)
{ {
static_assert(std::is_same<Input_T, Output_T>::value, "Input_T and Output_T must be the same."); static_assert(std::is_same<Input_T, Output_T>::value, "Input_T and Output_T must be the same.");
......
{% filter indent(width=4, first=False) %} {% filter indent(width=4, first=False) %}
{% include "./_mem_offset.jinja" %} {% include "./_mem_offset.jinja" %}
N2D2_Export::customconvcellPropagate<{{ in_name[0]|upper }}_NB_CHANNELS, N2D2_Export::lowbitconvcellPropagate<{{ in_name[0]|upper }}_NB_CHANNELS,
{{ in_name[0]|upper }}_IN_HEIGHT, {{ in_name[0]|upper }}_IN_HEIGHT,
{{ in_name[0]|upper }}_IN_WIDTH, {{ in_name[0]|upper }}_IN_WIDTH,
{{ out_name[0]|upper }}_NB_OUTPUTS, {{ out_name[0]|upper }}_NB_OUTPUTS,
......
{% filter indent(width=4, first=False) %} {% filter indent(width=4, first=False) %}
{% include "./_mem_offset.jinja" %} {% include "./_mem_offset.jinja" %}
N2D2_Export::fccellPropagate<{{ in_name[0] | upper }}_NB_CHANNELS, N2D2_Export::lowbitfccellPropagate<{{ in_name[0] | upper }}_NB_CHANNELS,
{{ in_name[0] | upper }}_IN_HEIGHT, {{ in_name[0] | upper }}_IN_HEIGHT,
{{ in_name[0] | upper }}_IN_WIDTH, {{ in_name[0] | upper }}_IN_WIDTH,
{{ out_name[0] | upper }}_NB_OUTPUTS, {{ out_name[0] | upper }}_NB_OUTPUTS,
......
{% filter indent(width=4, first=False) %} {% filter indent(width=4, first=False) %}
{% include "./_mem_offset.jinja" %} {% include "./_mem_offset.jinja" %}
N2D2_Export::custompoolcellPropagate<{{ in_name[0]|upper }}_NB_CHANNELS, N2D2_Export::lowbitpoolcellPropagate<{{ in_name[0]|upper }}_NB_CHANNELS,
{{ in_name[0]|upper }}_IN_HEIGHT, {{ in_name[0]|upper }}_IN_HEIGHT,
{{ in_name[0]|upper }}_IN_WIDTH, {{ in_name[0]|upper }}_IN_WIDTH,
{{ out_name[0]|upper }}_NB_OUTPUTS, {{ out_name[0]|upper }}_NB_OUTPUTS,
......
...@@ -326,10 +326,10 @@ class PadConvScaling_ARMCortexM(ExportNodeCpp): ...@@ -326,10 +326,10 @@ class PadConvScaling_ARMCortexM(ExportNodeCpp):
self.config_template = str(ROOT / "_Aidge_Arm" / "templates" / "configuration" / "conv_config.jinja") self.config_template = str(ROOT / "_Aidge_Arm" / "templates" / "configuration" / "conv_config.jinja")
self.forward_template = str(ROOT / "_Aidge_Arm" / "templates" / "forward_call" / "custom_conv_kernel.jinja") self.forward_template = str(ROOT / "_Aidge_Arm" / "templates" / "forward_call" / "lowbit_conv_kernel.jinja")
self.include_list = [] self.include_list = []
self.kernels_to_copy = [ self.kernels_to_copy = [
str(ROOT / "_Aidge_Arm" / "kernels" / "Convolution" / "CustomConv.hpp"), str(ROOT / "_Aidge_Arm" / "kernels" / "Convolution" / "LowbitConv.hpp"),
str(ROOT / "_Aidge_Arm" / "kernels" / "Utils" / "aidge_supportfunctions.h"), str(ROOT / "_Aidge_Arm" / "kernels" / "Utils" / "aidge_supportfunctions.h"),
str(ROOT / "_Aidge_Arm" / "kernels" / "Utils" / "Macs.hpp"), str(ROOT / "_Aidge_Arm" / "kernels" / "Utils" / "Macs.hpp"),
str(ROOT / "_Aidge_Arm" / "kernels" / "Utils" / "nn_scaling_functions.hpp"), str(ROOT / "_Aidge_Arm" / "kernels" / "Utils" / "nn_scaling_functions.hpp"),
...@@ -375,10 +375,10 @@ class ConvScaling_ARMCortexM(ExportNodeCpp): ...@@ -375,10 +375,10 @@ class ConvScaling_ARMCortexM(ExportNodeCpp):
self.config_template = str(ROOT / "_Aidge_Arm" / "templates" / "configuration" / "conv_config.jinja") self.config_template = str(ROOT / "_Aidge_Arm" / "templates" / "configuration" / "conv_config.jinja")
self.forward_template = str(ROOT / "_Aidge_Arm" / "templates" / "forward_call" / "custom_conv_kernel.jinja") self.forward_template = str(ROOT / "_Aidge_Arm" / "templates" / "forward_call" / "lowbit_conv_kernel.jinja")
self.include_list = [] self.include_list = []
self.kernels_to_copy = [ self.kernels_to_copy = [
str(ROOT / "_Aidge_Arm" / "kernels" / "Convolution" / "CustomConv.hpp"), str(ROOT / "_Aidge_Arm" / "kernels" / "Convolution" / "LowbitConv.hpp"),
str(ROOT / "_Aidge_Arm" / "kernels" / "Utils" / "aidge_supportfunctions.h"), str(ROOT / "_Aidge_Arm" / "kernels" / "Utils" / "aidge_supportfunctions.h"),
str(ROOT / "_Aidge_Arm" / "kernels" / "Utils" / "Macs.hpp"), str(ROOT / "_Aidge_Arm" / "kernels" / "Utils" / "Macs.hpp"),
str(ROOT / "_Aidge_Arm" / "kernels" / "Utils" / "nn_scaling_functions.hpp"), str(ROOT / "_Aidge_Arm" / "kernels" / "Utils" / "nn_scaling_functions.hpp"),
...@@ -414,10 +414,10 @@ class FCScaling_ARMCortexM(ExportNodeCpp): ...@@ -414,10 +414,10 @@ class FCScaling_ARMCortexM(ExportNodeCpp):
self.attributes.update(Scaling(scaling_factor = scaling_factor)("floating_point")) self.attributes.update(Scaling(scaling_factor = scaling_factor)("floating_point"))
self.config_template = str(ROOT / "_Aidge_Arm" / "templates" / "configuration" / "fc_config.jinja") self.config_template = str(ROOT / "_Aidge_Arm" / "templates" / "configuration" / "fc_config.jinja")
self.forward_template = str(ROOT / "_Aidge_Arm" / "templates" / "forward_call" / "custom_fc_kernel.jinja") self.forward_template = str(ROOT / "_Aidge_Arm" / "templates" / "forward_call" / "lowbit_fc_kernel.jinja")
self.include_list = [] self.include_list = []
self.kernels_to_copy = [ self.kernels_to_copy = [
str(ROOT / "_Aidge_Arm" / "kernels" / "FullyConnected" / "CustomFc.hpp"), str(ROOT / "_Aidge_Arm" / "kernels" / "FullyConnected" / "LowbitFc.hpp"),
str(ROOT / "_Aidge_Arm" / "kernels" / "Utils" / "aidge_supportfunctions.h"), str(ROOT / "_Aidge_Arm" / "kernels" / "Utils" / "aidge_supportfunctions.h"),
str(ROOT / "_Aidge_Arm" / "kernels" / "Utils" / "Macs.hpp"), str(ROOT / "_Aidge_Arm" / "kernels" / "Utils" / "Macs.hpp"),
str(ROOT / "_Aidge_Arm" / "kernels" / "Utils" / "nn_scaling_functions.hpp"), str(ROOT / "_Aidge_Arm" / "kernels" / "Utils" / "nn_scaling_functions.hpp"),
...@@ -428,7 +428,7 @@ class FCScaling_ARMCortexM(ExportNodeCpp): ...@@ -428,7 +428,7 @@ class FCScaling_ARMCortexM(ExportNodeCpp):
] ]
@ExportLibAidgeARM.register("MaxPooling2D", aidge_core.ImplSpec(aidge_core.IOSpec(aidge_core.dtype.any))) @ExportLibAidgeARM.register("MaxPooling2D", aidge_core.ImplSpec(aidge_core.IOSpec(aidge_core.dtype.any)))
class CustomPooling_ARMCortexM(ExportNodeCpp): class LowbitPooling_ARMCortexM(ExportNodeCpp):
def __init__(self, node, mem_info, conversion_map = datatype_converter_aidge2arm): def __init__(self, node, mem_info, conversion_map = datatype_converter_aidge2arm):
super().__init__(node, mem_info, conversion_map) super().__init__(node, mem_info, conversion_map)
...@@ -442,14 +442,14 @@ class CustomPooling_ARMCortexM(ExportNodeCpp): ...@@ -442,14 +442,14 @@ class CustomPooling_ARMCortexM(ExportNodeCpp):
self.attributes["stride_dims"] = node.get_operator().attr.stride_dims self.attributes["stride_dims"] = node.get_operator().attr.stride_dims
self.config_template = str(ROOT / "_Aidge_Arm" / "templates" / "configuration" / "pool_config.jinja") self.config_template = str(ROOT / "_Aidge_Arm" / "templates" / "configuration" / "pool_config.jinja")
self.forward_template = str(ROOT / "_Aidge_Arm" / "templates" / "forward_call" / "custom_pool_kernel.jinja") self.forward_template = str(ROOT / "_Aidge_Arm" / "templates" / "forward_call" / "lowbit_pool_kernel.jinja")
self.include_list = [] self.include_list = []
self.kernels_to_copy = [ self.kernels_to_copy = [
str(ROOT / "_Aidge_Arm" / "kernels" / "Pooling" / "CustomPooling.hpp") str(ROOT / "_Aidge_Arm" / "kernels" / "Pooling" / "LowbitPooling.hpp")
] ]
self.kernels_to_copy = [ self.kernels_to_copy = [
str(ROOT / "_Aidge_Arm" / "kernels" / "Pooling" / "CustomPooling.hpp"), str(ROOT / "_Aidge_Arm" / "kernels" / "Pooling" / "LowbitPooling.hpp"),
str(ROOT / "_Aidge_Arm" / "kernels" / "Utils" / "aidge_supportfunctions.h"), str(ROOT / "_Aidge_Arm" / "kernels" / "Utils" / "aidge_supportfunctions.h"),
str(ROOT / "_Aidge_Arm" / "kernels" / "Utils" / "Macs.hpp"), str(ROOT / "_Aidge_Arm" / "kernels" / "Utils" / "Macs.hpp"),
str(ROOT / "_Aidge_Arm" / "kernels" / "Utils" / "subkernels_functions.hpp"), str(ROOT / "_Aidge_Arm" / "kernels" / "Utils" / "subkernels_functions.hpp"),
...@@ -478,10 +478,10 @@ class Conv_ARMCortexM(ExportNodeCpp): ...@@ -478,10 +478,10 @@ class Conv_ARMCortexM(ExportNodeCpp):
self.attributes["padding"] = [0, 0] self.attributes["padding"] = [0, 0]
self.config_template = str(ROOT / "_Aidge_Arm" / "templates" / "configuration" / "conv_config.jinja") self.config_template = str(ROOT / "_Aidge_Arm" / "templates" / "configuration" / "conv_config.jinja")
self.forward_template = str(ROOT / "_Aidge_Arm" / "templates" / "forward_call" / "custom_conv_kernel.jinja") self.forward_template = str(ROOT / "_Aidge_Arm" / "templates" / "forward_call" / "lowbit_conv_kernel.jinja")
self.include_list = [] self.include_list = []
self.kernels_to_copy = [ self.kernels_to_copy = [
str(ROOT / "_Aidge_Arm" / "kernels" / "Convolution" / "CustomConv.hpp"), str(ROOT / "_Aidge_Arm" / "kernels" / "Convolution" / "LowbitConv.hpp"),
str(ROOT / "_Aidge_Arm" / "kernels" / "Utils" / "aidge_supportfunctions.h"), str(ROOT / "_Aidge_Arm" / "kernels" / "Utils" / "aidge_supportfunctions.h"),
str(ROOT / "_Aidge_Arm" / "kernels" / "Utils" / "Macs.hpp"), str(ROOT / "_Aidge_Arm" / "kernels" / "Utils" / "Macs.hpp"),
str(ROOT / "_Aidge_Arm" / "kernels" / "Utils" / "nn_scaling_functions.hpp"), str(ROOT / "_Aidge_Arm" / "kernels" / "Utils" / "nn_scaling_functions.hpp"),
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment