[PATCH v5 00/39] Implementation of ML CNXK driver
Prince Takkar
ptakkar at marvell.com
Thu Mar 2 07:08:19 CET 2023
> -----Original Message-----
> From: Srikanth Yalavarthi <syalavarthi at marvell.com>
> Sent: Tuesday, February 7, 2023 9:37 PM
> Cc: dev at dpdk.org; Shivah Shankar Shankar Narayan Rao
> <sshankarnara at marvell.com>; Jerin Jacob Kollanukkaran
> <jerinj at marvell.com>; Anup Prabhu <aprabhu at marvell.com>; Prince Takkar
> <ptakkar at marvell.com>; Parijat Shukla <pshukla at marvell.com>; Srikanth
> Yalavarthi <syalavarthi at 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 <ptakkar at marvell.com>
More information about the dev
mailing list