From patchwork Wed Aug 30 15:52:59 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Srikanth Yalavarthi X-Patchwork-Id: 95 Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id A410241FD0; Wed, 30 Aug 2023 17:53:09 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 9CB9D40285; Wed, 30 Aug 2023 17:53:09 +0200 (CEST) Received: from mx0b-0016f401.pphosted.com (mx0b-0016f401.pphosted.com [67.231.156.173]) by mails.dpdk.org (Postfix) with ESMTP id E87D84027A for ; Wed, 30 Aug 2023 17:53:07 +0200 (CEST) Received: from pps.filterd (m0045851.ppops.net [127.0.0.1]) by mx0b-0016f401.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 37U86JM6012757 for ; Wed, 30 Aug 2023 08:53:07 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.com; h=from : to : cc : subject : date : message-id : mime-version : content-transfer-encoding : content-type; s=pfpt0220; bh=ksTUG2/JUiiJE56PuIygaunAU2u8gVQgKMQUld0XnMo=; b=SztCd/e8Gck182kCvD8zxEcmfJUIHgcb2L90JvpqmIL5DuGM60rZ473ix2oAdk45UPG1 UDAeJqUC7TJhA0RkLHOc7ie26MhE3G9cos+dphrT5JS9TuVQooH0P8k0MG8iCO59Ws6F DegDNnJ6oaYp2juTYtSUe9zEz8Nk8dw9XKJy3s41gzb3RBUx2AI+gmDfWnWWoe5f8eAp GbDnJxrb+xw5yMFBvlgk65MaEpEeLV4nG1BlzC97Y5OGDIB6+wJFBJk1Bw65Bvsau2fh N1a+umXUOBuSgg3ZqUOzRXguk/siRb8FiTYZfn+2gWg7oAb6YSA5OmAF/18TtUi6PvJR dw== Received: from dc5-exch01.marvell.com ([199.233.59.181]) by mx0b-0016f401.pphosted.com (PPS) with ESMTPS id 3st1y61ff5-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT) for ; Wed, 30 Aug 2023 08:53:07 -0700 Received: from DC5-EXCH01.marvell.com (10.69.176.38) by DC5-EXCH01.marvell.com (10.69.176.38) with Microsoft SMTP Server (TLS) id 15.0.1497.48; Wed, 30 Aug 2023 08:53:05 -0700 Received: from maili.marvell.com (10.69.176.80) by DC5-EXCH01.marvell.com (10.69.176.38) with Microsoft SMTP Server id 15.0.1497.48 via Frontend Transport; Wed, 30 Aug 2023 08:53:05 -0700 Received: from ml-host-33.caveonetworks.com (unknown [10.110.143.233]) by maili.marvell.com (Postfix) with ESMTP id 05FEA3F707D; Wed, 30 Aug 2023 08:53:04 -0700 (PDT) From: Srikanth Yalavarthi To: CC: , , , , Subject: [PATCH v1 0/3] Spec changes to support multi I/O models Date: Wed, 30 Aug 2023 08:52:59 -0700 Message-ID: <20230830155303.30380-1-syalavarthi@marvell.com> X-Mailer: git-send-email 2.41.0 MIME-Version: 1.0 X-Proofpoint-ORIG-GUID: mQ1ZwruzmyntwP9VkMwqOE4tpJhJmjYO X-Proofpoint-GUID: mQ1ZwruzmyntwP9VkMwqOE4tpJhJmjYO X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.267,Aquarius:18.0.957,Hydra:6.0.601,FMLib:17.11.176.26 definitions=2023-08-30_12,2023-08-29_01,2023-05-22_02 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org This series implements changes to mldev spec to extend support for ML models with multiple inputs and outputs. Changes include introduction of I/O layout to support packed and split buffers for model input and output. Extended the rte_ml_model_info structure to support multiple inputs and outputs. Updated rte_ml_op and quantize / dequantize APIs to support an array of input and output ML buffer segments. Srikanth Yalavarthi (3): mldev: add support for arbitrary shape dimensions mldev: introduce support for IO layout mldev: drop input and output size get APIs app/test-mldev/ml_options.c | 15 - app/test-mldev/ml_options.h | 2 - app/test-mldev/test_inference_common.c | 416 +++++++++++++++++-------- app/test-mldev/test_inference_common.h | 6 + app/test-mldev/test_model_common.c | 6 - app/test-mldev/test_model_common.h | 1 - doc/guides/tools/testmldev.rst | 6 - drivers/ml/cnxk/cn10k_ml_dev.h | 3 + drivers/ml/cnxk/cn10k_ml_model.c | 84 +++-- drivers/ml/cnxk/cn10k_ml_model.h | 12 + drivers/ml/cnxk/cn10k_ml_ops.c | 135 +++----- lib/mldev/meson.build | 2 +- lib/mldev/mldev_utils.c | 30 -- lib/mldev/mldev_utils.h | 16 - lib/mldev/rte_mldev.c | 50 +-- lib/mldev/rte_mldev.h | 201 +++++------- lib/mldev/rte_mldev_core.h | 68 +--- lib/mldev/version.map | 3 - 18 files changed, 503 insertions(+), 553 deletions(-)