From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-10.0 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id CD76CC0650E for ; Wed, 3 Jul 2019 15:27:16 +0000 (UTC) Received: from dpdk.org (dpdk.org [92.243.14.124]) by mail.kernel.org (Postfix) with ESMTP id 6D20A2184C for ; Wed, 3 Jul 2019 15:27:16 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 6D20A2184C Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=intel.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=dev-bounces@dpdk.org Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 333101B9E9; Wed, 3 Jul 2019 17:25:34 +0200 (CEST) Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by dpdk.org (Postfix) with ESMTP id 546301B9AC for ; Wed, 3 Jul 2019 17:25:28 +0200 (CEST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga006.jf.intel.com ([10.7.209.51]) by fmsmga105.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 03 Jul 2019 08:25:27 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.63,446,1557212400"; d="scan'208";a="169175853" Received: from skx-5gnr-sc12-4.sc.intel.com ([172.25.69.210]) by orsmga006.jf.intel.com with ESMTP; 03 Jul 2019 08:25:26 -0700 From: Nicolas Chautru To: akhil.goyal@nxp.com, dev@dpdk.org Cc: ferruh.yigit@intel.com, thomas@monjalon.net, amr.mokhtar@intel.com, kamilx.chalupnik@intel.com, Nicolas Chautru Date: Wed, 3 Jul 2019 08:24:08 -0700 Message-Id: <1562167450-314880-6-git-send-email-nicolas.chautru@intel.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1562167450-314880-1-git-send-email-nicolas.chautru@intel.com> References: <1561344776-43990-2-git-send-email-nicolas.chautru@intel.com> <1562167450-314880-1-git-send-email-nicolas.chautru@intel.com> Subject: [dpdk-dev] [PATCH v6 5/7] docs/guides: updating building steps for BBDEV PMD X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" This now includes steps to build with either libraries for AVX2, or AVX512 or no dependency. Signed-off-by: Nicolas Chautru Acked-by: Amr Mokhtar --- doc/guides/bbdevs/turbo_sw.rst | 42 +++++++++++++++++++++++++++++------------- 1 file changed, 29 insertions(+), 13 deletions(-) diff --git a/doc/guides/bbdevs/turbo_sw.rst b/doc/guides/bbdevs/turbo_sw.rst index 455fa1d..2785a50 100644 --- a/doc/guides/bbdevs/turbo_sw.rst +++ b/doc/guides/bbdevs/turbo_sw.rst @@ -5,20 +5,21 @@ SW Turbo Poll Mode Driver ========================= The SW Turbo PMD (**baseband_turbo_sw**) provides a software only poll mode bbdev -driver that can optionally utilize Intel optimized libraries for LTE Layer 1 -workloads acceleration. +driver that can optionally utilize Intel optimized libraries for LTE and 5GNR +Layer 1 workloads acceleration. Note that the driver can also be built without any dependency with reduced functionality for maintenance purpose. To enable linking to the SDK libraries see detailed installation section below. -One flag can be enabled depending on whether the target machine can support -AVX2 instructions sets and the related SDK libraries for vectorized +Two flags can be enabled depending on whether the target machine can support +AVX2 and AVX512 instructions sets and the related SDK libraries for vectorized signal processing functions are installed : - CONFIG_RTE_BBDEV_SDK_AVX2 - -By default this flag is disabled. For AVX2 machine and SDK -library installed then this flag can be enabled. +- CONFIG_RTE_BBDEV_SDK_AVX512 +By default these 2 flags are disabled by default. For AVX2 machine and SDK +library installed then the first flag can be enabled. For AVX512 machine and +SDK library installed then both flags can be enabled for full real time capability. This PMD supports the functions: FEC, Rate Matching and CRC functions detailed in the Features section. @@ -45,11 +46,25 @@ For the LTE decode operation: * ``RTE_BBDEV_TURBO_DEC_TB_CRC_24B_KEEP`` * ``RTE_BBDEV_TURBO_EARLY_TERMINATION`` +For the 5G NR LDPC encode operation: + +* ``RTE_BBDEV_LDPC_RATE_MATCH`` +* ``RTE_BBDEV_LDPC_CRC_24A_ATTACH`` +* ``RTE_BBDEV_LDPC_CRC_24B_ATTACH`` + +For the 5G NR LDPC decode operation: + +* ``RTE_BBDEV_LDPC_CRC_TYPE_24B_CHECK`` +* ``RTE_BBDEV_LDPC_CRC_TYPE_24A_CHECK`` +* ``RTE_BBDEV_LDPC_CRC_TYPE_24B_DROP`` +* ``RTE_BBDEV_LDPC_HQ_COMBINE_IN_ENABLE`` +* ``RTE_BBDEV_LDPC_HQ_COMBINE_OUT_ENABLE`` +* ``RTE_BBDEV_LDPC_ITERATION_STOP_ENABLE`` Limitations ----------- -* In-place operations for Turbo encode and decode are not supported +* In-place operations for encode and decode are not supported Installation ------------ @@ -60,7 +75,7 @@ FlexRAN SDK Download As an option it is possible to link this driver with FleXRAN SDK libraries which can enable real time signal processing using AVX instructions. -These libraries are available through this link `link `_. +These libraries are available through this `link `_. After download is complete, the user needs to unpack and compile on their system before building DPDK. @@ -115,14 +130,13 @@ The following instructions should be followed in this exact order: .. code-block:: console - cd build-avx2-icc/ + cd build-avx512-icc/ make && make install - Initialization -------------- -In order to enable this virtual bbdev PMD, the user must: +In order to enable this virtual bbdev PMD, the user may: * Build the ``FLEXRAN SDK`` libraries (explained in Installation section). @@ -137,9 +151,11 @@ Example: export FLEXRAN_SDK=/FlexRAN-FEC-SDK-19-04/sdk/build-avx2-icc/install export DIR_WIRELESS_SDK=/FlexRAN-FEC-SDK-19-04/sdk/build-avx2-icc/ -* Set ``CONFIG_RTE_BBDEV_SDK_AVX2=y`` +* Set ``CONFIG_RTE_BBDEV_SDK_AVX2=y`` and ``CONFIG_RTE_BBDEV_SDK_AVX512=y`` in DPDK common configuration file ``config/common_base`` to be able to use the SDK libraries as mentioned above. + For AVX2 machine it is possible to only enable CONFIG_RTE_BBDEV_SDK_AVX2 + for limited 4G functionality. If no flag are set the PMD driver will still build but its capabilities will be limited accordingly. -- 1.8.3.1