Machine Learning common code ---------------------------- This patch series implements the common ML code that can be used by ML drivers. Common code include functions to convert ML IO type to string, IO format type to string, function get size of ML IO type, and functions for converting data types from higher precision to lower precision and vice-versa.
Data type conversion functions support handling float32, float16, bfloat16, uint8, int8, uint16 and int16. Two versions of conversion functions are implemented in the series, generic scalar version and vector version using Arm NEON intrinsics. When compiling DPDK for platform supporting Arm NEON, vector NEON version of the routines would be enabled. Compilation would fall back to generic scalar versions on platform like x86_64 / PowerPC etc., that don't support Arm NEON. Srikanth Yalavarthi (4): common/ml: add initial files for ML common code common/ml: add common utility functions common/ml: add scalar type conversion functions common/ml: add Arm NEON type conversion routines MAINTAINERS | 8 + drivers/common/meson.build | 1 + drivers/common/ml/meson.build | 25 + drivers/common/ml/ml_utils.c | 118 ++++ drivers/common/ml/ml_utils.h | 283 +++++++++ drivers/common/ml/ml_utils_neon.c | 873 ++++++++++++++++++++++++++++ drivers/common/ml/ml_utils_scalar.c | 720 +++++++++++++++++++++++ drivers/common/ml/version.map | 25 + 8 files changed, 2053 insertions(+) create mode 100644 drivers/common/ml/meson.build create mode 100644 drivers/common/ml/ml_utils.c create mode 100644 drivers/common/ml/ml_utils.h create mode 100644 drivers/common/ml/ml_utils_neon.c create mode 100644 drivers/common/ml/ml_utils_scalar.c create mode 100644 drivers/common/ml/version.map -- 2.17.1