mbox

[v5,0/4] Implementation of ML common code

Message ID 20230201091256.12792-1-syalavarthi@marvell.com (mailing list archive)
Headers

Message

Srikanth Yalavarthi Feb. 1, 2023, 9:12 a.m. UTC
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):
  mldev: add headers for internal ML functions
  mldev: implement ML IO type handling functions
  mldev: add scalar type conversion functions
  mldev: add Arm NEON type conversion routines

 lib/mldev/meson.build          |   7 +
 lib/mldev/mldev_utils.c        | 118 +++++
 lib/mldev/mldev_utils.h        | 345 +++++++++++++
 lib/mldev/mldev_utils_neon.c   | 873 +++++++++++++++++++++++++++++++++
 lib/mldev/mldev_utils_scalar.c | 720 +++++++++++++++++++++++++++
 lib/mldev/version.map          |  16 +
 6 files changed, 2079 insertions(+)
 create mode 100644 lib/mldev/mldev_utils.c
 create mode 100644 lib/mldev/mldev_utils.h
 create mode 100644 lib/mldev/mldev_utils_neon.c
 create mode 100644 lib/mldev/mldev_utils_scalar.c

--
2.17.1