Low bit support for ARM Cortex-M export
-
Add aidge types (type not compressed & type compressed) - int4 (. . . . v v v v) & dual_int4 (v v v v v v v v)
- int3 (. . . . . v v v) & dual_int3 (. v v v . v v v)
- int2 & quad_int2
- uint4 & dual_uint4
- uint3 & dual_uint3
- uint2 & quad_uint2
- binary & octo_binary
-
Each aidge type uses a std::int8_t
orstd::uint8_t
(for aide tensor, tensor binding to numpy,...) -
Add operator WeightInterleaving
that compact tensor data on the last dimension of the Tensor. It requires input tensor format NHWC because the implemented kernels in ARM Cortex-M are HWC. -
Python binding of Operator WeightInterleaving
andApplyWeightInterleaving
recipe -
Adapt data_convertion
to a generic function taking a data conversionmap as input and integrate it into nodeExport. Each nodeExport instanciation in the export operator registry can specify a different data conversion map (from aidge to export type).
Closes : aidge_export_arm_cortexm#22 (closed)
Edited by Thibault Allenet
Merge request reports
Activity
Filter activity
assigned to @thibaultallenet
added StatusWork in Progress label
added 111 commits
-
cfcf64fe...41e3501d - 103 commits from branch
dev
- f4d3d101 - First version of compactData for custom datatype in export arm
- b60ad289 - Update pybind_core with compact data binding
- e5fa197b - Add type aidge::int4 with tensor implementation int8_t
- 57592ed7 - Remove Compact data from utils - functions are integrated into WeightInterleaving Operator
- b0cff912 - Add WeightInterleaving Operator
- 61b9a632 - Add support of UInt4, Int3, UInt3, Int2, UInt2
- f5c02edf - Export when Aidge Datatype isn't convertible into cpp type then set cpp export type to None
- 8dba3c09 - Add ImplecSpec constructor binding for export ARM
Toggle commit list-
cfcf64fe...41e3501d - 103 commits from branch
added 70 commits
-
8dba3c09...e7869ad3 - 55 commits from branch
dev
- e7869ad3...c5f707cb - 5 earlier commits
- b43080da - Add support of UInt4, Int3, UInt3, Int2, UInt2
- 9f24fe6e - Export when Aidge Datatype isn't convertible into cpp type then set cpp export type to None
- cfcf64fe - Add ImplecSpec constructor binding for export ARM
- 793f92e1 - Merge branch 'dev' into low_bit_support_arm
- 69c15912 - Merge branch 'low_bit_support_arm' of...
- 3013b54b - Merge branch 'dev' into low_bit_support_arm
- 170c5a23 - Added possibility to create a GenericOp from any Operator
- 653773d5 - Merge branch 'dev' into low_bit_support_arm
- 3eafaa31 - Merge branch 'genericop_from_op' into low_bit_support_arm
- 54630773 - Add datatypes for compacted low bits integers
Toggle commit list-
8dba3c09...e7869ad3 - 55 commits from branch
added 12 commits
- 54630773...a677e993 - 2 earlier commits
- 6a677044 - Merge branch 'genericop_from_op' into low_bit_support_arm
- b5ed3f15 - Fixed unsupported std::void_t
- e7a13ff5 - Merge branch 'genericop_from_op' into low_bit_support_arm
- 5fd06284 - Added missing hash specialization for std::pair
- 7050788e - Add integer datatypes for weightInterleaving
- 764c7f08 - Merge branch 'genericop_from_op' into low_bit_support_arm
- 15bbe6ea - Add set_dataformat binding for operator
- 006e8f4b - Add python binding for WeightInterleaving Operator
- 3ab0a780 - Add recipe apply weightInterleaving
- 309ab5a7 - Add binding for applyWeightInterleaving
Toggle commit listadded 1 commit
- 88558942 - Update applyWeightInterleaving recipe to handle 2D weight tensor (FC)
requested review from @cmoineau and @olivierbichler
added 36 commits
-
88558942...10143f53 - 34 commits from branch
dev
- e7b038f2 - Merge branch 'dev' into low_bit_support_arm
- 651b8db0 - Upgrade the data conversion to a generic function and integrate it to nodeExport class constructor
-
88558942...10143f53 - 34 commits from branch
added 3 commits
-
651b8db0...c312252d - 2 commits from branch
dev
- 18c36ba4 - Merge branch 'dev' into low_bit_support_arm
-
651b8db0...c312252d - 2 commits from branch
removed StatusWork in Progress label
Please register or sign in to reply