[Feat] Add simple conv export template
Context
This MR aims to add a simple export example to the already existing aide module template.
This will hopefully ease the export development process by providing the basic functions and
conventions we use to create export modules in Aidge.
Modified files
A lot of files/folder have been added :
-
aidge_module_template/kernels:
-
my_conv.hpp: Example conv implementation (only printing its arguments values);
-
-
aidge_module_template/operators:
-
__init__.py: Init the operators; -
Conv2D.py: Example of operator registering; -
PadConvReLU.py: Example of meta-operator registering; -
Producer.py: Needed to export the convolution's parameters; -
utils.py: Hold theexport_params()function used by theProducerexport node.
-
-
aidge_module_template/static:
-
activation.hpp: Example of an utilitary file holding functions used by the kernels; -
Makefile: Used to compile the export; -
typedefs.hpp: Holding activation types;
-
-
aidge_module_template/templates:
-
configuration : Configuration templates for kernels' calls
-
_meminfo.jinja: Memory information for the kernel (offset and memory manager related data); -
my_conv_config.jinja: Parameters needed to callmy_conv_forward();
-
-
data : Data related templates
-
parameters.jinja: Used to create the Producers files;
-
-
kernel_forward : Kernel call templates
-
_mem_offset.jinja: Memory offset for output pointer placement; -
my_conv_forward.jinja: Forward function call for "my_conv" kernel;
-
-
configuration : Configuration templates for kernels' calls
-
aidge_module_template/
export_registry.py:ExportLibMyExportdefinition; -
aidge_module_template/
export_utils.py: Export related functions; -
aidge_module_template/
export.py: Run thescheduler_exportfunction then generate amain.cppfile; -
aidge_module_template/
utils.py: Define some macros; -
examples/export_conv/
export_conv.ipynb: Export generation file example.
TODO
-
Update README.md and add export related explainations; -
Write a documented export_conv.ipynbfile with a working export; -
Add comments within the export files.