> -----Original Message-----
> From: Srikanth Yalavarthi <syalavar...@marvell.com>
> Sent: Tuesday, February 7, 2023 9:37 PM
> Cc: dev@dpdk.org; Shivah Shankar Shankar Narayan Rao
> <sshankarn...@marvell.com>; Jerin Jacob Kollanukkaran
> <jer...@marvell.com>; Anup Prabhu <apra...@marvell.com>; Prince Takkar
> <ptak...@marvell.com>; Parijat Shukla <pshu...@marvell.com>; Srikanth
> Yalavarthi <syalavar...@marvell.com>
> Subject: [PATCH v5 00/39] Implementation of ML CNXK driver
> 
> Marvell ML CNXK Driver
> ----------------------
> 
> This patch series implements common Machine Learning (ML) ROC code and
> driver for Marvell Octeon 10 (cnxk) platform. ML inferencing is supported on
> cnxk platform through an integrated ML inferencing processor. The current
> driver supports programming the ML hardware engine through offload
> mode.
> 
> All APIs proposed in the DPDK ML device specification are supported on the
> cnxk platform.
> 
> v5:
> * Updated model_id to uint16_t
> * Updated release notes for 23.03
> 
> v4:
> * Update function names of ML common code
> * Added support for configurable OCM page size
> * Minor typo fixes
> 
> v3:
> * Skip installation of internal headers
> * Update internal comments and code cleanup
> 
> v2:
> * Typo and formatting fixes
> 
> Srikanth Yalavarthi (39):
>   common/cnxk: add ML headers and ROC code for cnxk
>   ml/cnxk: add skeleton for ML cnxk driver
>   ml/cnxk: enable probe and remove of ML device
>   ml/cnxk: add driver support to get device info
>   ml/cnxk: add support for configure and close
>   ml/cnxk: parse ML firmware path from device args
>   ml/cnxk: enable firmware load and device reset
>   ml/cnxk: enable support for simulator environment
>   ml/cnxk: enable support for device start and stop
>   ml/cnxk: add support to create device queue-pairs
>   ml/cnxk: add functions to load and unload models
>   ml/cnxk: enable validity checks for model metadata
>   ml/cnxk: add internal structures for derived info
>   ml/cnxk: add internal structures for tiles and OCM
>   ml/cnxk: add structures for slow and fast path JDs
>   ml/cnxk: find OCM mask and page slots for a model
>   ml/cnxk: add support to reserve and free OCM pages
>   ml/cnxk: enable support to start an ML model
>   ml/cnxk: enable support to stop an ML models
>   ml/cnxk: enable support to get model information
>   ml/cnxk: enable support to update model params
>   ml/cnxk: add support to get IO buffer sizes
>   ml/cnxk: enable quantization and dequantization
>   ml/cnxk: enable support to dump device debug info
>   ml/cnxk: add driver support for device selftest
>   ml/cnxk: enqueue a burst of inference requests
>   ml/cnxk: dequeue a burst of inference requests
>   ml/cnxk: add internal function for sync mode run
>   ml/cnxk: enable support for firmware error codes
>   ml/cnxk: add support to get and reset device stats
>   ml/cnxk: add support to handle extended dev stats
>   ml/cnxk: enable support to get xstats in cycles
>   ml/cnxk: add support to report DPE FW warnings
>   ml/cnxk: add support to enable model data caching
>   ml/cnxk: add support to select OCM allocation mode
>   ml/cnxk: add support to use lock during jcmd enq
>   ml/cnxk: add support to select poll memory region
>   ml/cnxk: add user guide for marvell cnxk ml driver
>   ml/cnxk: enable support for configurable ocm page
> 
>  MAINTAINERS                            |   11 +
>  doc/guides/index.rst                   |    1 +
>  doc/guides/mldevs/cnxk.rst             |  254 +++
>  doc/guides/mldevs/index.rst            |   14 +
>  doc/guides/rel_notes/release_23_03.rst |    7 +
>  drivers/common/cnxk/hw/ml.h            |  170 ++
>  drivers/common/cnxk/meson.build        |    1 +
>  drivers/common/cnxk/roc_api.h          |    4 +
>  drivers/common/cnxk/roc_constants.h    |    2 +
>  drivers/common/cnxk/roc_dev_priv.h     |    1 +
>  drivers/common/cnxk/roc_ml.c           |  626 +++++++
>  drivers/common/cnxk/roc_ml.h           |  152 ++
>  drivers/common/cnxk/roc_ml_priv.h      |   24 +
>  drivers/common/cnxk/roc_platform.c     |    1 +
>  drivers/common/cnxk/roc_platform.h     |    2 +
>  drivers/common/cnxk/roc_priv.h         |    3 +
>  drivers/common/cnxk/version.map        |   29 +
>  drivers/meson.build                    |    1 +
>  drivers/ml/cnxk/cn10k_ml_dev.c         |  870 +++++++++
>  drivers/ml/cnxk/cn10k_ml_dev.h         |  429 +++++
>  drivers/ml/cnxk/cn10k_ml_model.c       |  413 +++++
>  drivers/ml/cnxk/cn10k_ml_model.h       |  508 ++++++
>  drivers/ml/cnxk/cn10k_ml_ocm.c         |  519 ++++++
>  drivers/ml/cnxk/cn10k_ml_ocm.h         |   85 +
>  drivers/ml/cnxk/cn10k_ml_ops.c         | 2316 ++++++++++++++++++++++++
>  drivers/ml/cnxk/cn10k_ml_ops.h         |   94 +
>  drivers/ml/cnxk/meson.build            |   32 +
>  drivers/ml/meson.build                 |    8 +
>  28 files changed, 6577 insertions(+)
>  create mode 100644 doc/guides/mldevs/cnxk.rst  create mode 100644
> doc/guides/mldevs/index.rst  create mode 100644
> drivers/common/cnxk/hw/ml.h  create mode 100644
> drivers/common/cnxk/roc_ml.c  create mode 100644
> drivers/common/cnxk/roc_ml.h  create mode 100644
> drivers/common/cnxk/roc_ml_priv.h  create mode 100644
> drivers/ml/cnxk/cn10k_ml_dev.c  create mode 100644
> drivers/ml/cnxk/cn10k_ml_dev.h  create mode 100644
> drivers/ml/cnxk/cn10k_ml_model.c  create mode 100644
> drivers/ml/cnxk/cn10k_ml_model.h  create mode 100644
> drivers/ml/cnxk/cn10k_ml_ocm.c  create mode 100644
> drivers/ml/cnxk/cn10k_ml_ocm.h  create mode 100644
> drivers/ml/cnxk/cn10k_ml_ops.c  create mode 100644
> drivers/ml/cnxk/cn10k_ml_ops.h  create mode 100644
> drivers/ml/cnxk/meson.build  create mode 100644 drivers/ml/meson.build
> 
> --
> 2.17.1

Acked-by: Prince Takkar <ptak...@marvell.com>

Reply via email to