From patchwork Tue Dec 20 17:52:52 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Srikanth Yalavarthi X-Patchwork-Id: 121094 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 44EF4A0545; Tue, 20 Dec 2022 18:53:05 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id E1E5040698; Tue, 20 Dec 2022 18:53:04 +0100 (CET) Received: from mx0b-0016f401.pphosted.com (mx0a-0016f401.pphosted.com [67.231.148.174]) by mails.dpdk.org (Postfix) with ESMTP id D8FDF40684 for ; Tue, 20 Dec 2022 18:53:03 +0100 (CET) Received: from pps.filterd (m0045849.ppops.net [127.0.0.1]) by mx0a-0016f401.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 2BKHPRrC015534 for ; Tue, 20 Dec 2022 09:53:02 -0800 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : mime-version : content-type; s=pfpt0220; bh=v59/aqwIWe39HQY/EjospxnAwMEifuB8BrGzUPBgpTE=; b=Rcmn+emwImHZfMB+3kNFYbUSlc/grOzrjfP7lt/xi8ZzbCnHcKrXbGke2PiTv64OtvXm vaXfDtSLT5uN9Iyk6p7L+Adty/viaUSQq/MaezHaWcvKTrRUEfVETas1Vy6pzX1WYx4K urfpAG1Agfv0QnJ0MU6iCU8GxEVcej3nkfcDTLFDvzYlMxxz+ElFDP8AE03W7XNugSGY 6P5aM5x0QUB4pIlRfWm7Zj1Jj9Z6StLSRla2tc/qoNUdluE6/lB0uaGqRRh8QDZu4Vk3 I32krQuY1UYudOXzx0Q/zJyP8XhFeeqHiPBvzqfLiLz0LE28Z2ukJAtyiIxPC3A4MQ2E bw== Received: from dc5-exch01.marvell.com ([199.233.59.181]) by mx0a-0016f401.pphosted.com (PPS) with ESMTPS id 3mkapj28wg-2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT) for ; Tue, 20 Dec 2022 09:53:02 -0800 Received: from DC5-EXCH02.marvell.com (10.69.176.39) by DC5-EXCH01.marvell.com (10.69.176.38) with Microsoft SMTP Server (TLS) id 15.0.1497.42; Tue, 20 Dec 2022 09:53:01 -0800 Received: from maili.marvell.com (10.69.176.80) by DC5-EXCH02.marvell.com (10.69.176.39) with Microsoft SMTP Server id 15.0.1497.42 via Frontend Transport; Tue, 20 Dec 2022 09:53:01 -0800 Received: from ml-host-33.caveonetworks.com (unknown [10.110.143.233]) by maili.marvell.com (Postfix) with ESMTP id 044BD3F7045; Tue, 20 Dec 2022 09:53:00 -0800 (PST) From: Srikanth Yalavarthi To: CC: , , , , Srikanth Yalavarthi Subject: [PATCH v3 0/4] implementation of ML common code Date: Tue, 20 Dec 2022 09:52:52 -0800 Message-ID: <20221220175256.31302-1-syalavarthi@marvell.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20221212172108.17993-1-syalavarthi@marvell.com> References: <20221212172108.17993-1-syalavarthi@marvell.com> MIME-Version: 1.0 X-Proofpoint-ORIG-GUID: qPe1wPiz-pXVR9BztDkwsrYO9cG2s2CF X-Proofpoint-GUID: qPe1wPiz-pXVR9BztDkwsrYO9cG2s2CF X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.205,Aquarius:18.0.923,Hydra:6.0.545,FMLib:17.11.122.1 definitions=2022-12-20_06,2022-12-20_01,2022-06-22_01 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 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