aboutsummaryrefslogtreecommitdiffstats
path: root/doc/guides/bbdevs/turbo_sw.rst
diff options
context:
space:
mode:
Diffstat (limited to 'doc/guides/bbdevs/turbo_sw.rst')
-rw-r--r--doc/guides/bbdevs/turbo_sw.rst68
1 files changed, 40 insertions, 28 deletions
diff --git a/doc/guides/bbdevs/turbo_sw.rst b/doc/guides/bbdevs/turbo_sw.rst
index b3fed163..9661a306 100644
--- a/doc/guides/bbdevs/turbo_sw.rst
+++ b/doc/guides/bbdevs/turbo_sw.rst
@@ -4,7 +4,7 @@
SW Turbo Poll Mode Driver
=========================
-The SW Turbo PMD (**turbo_sw**) provides a poll mode bbdev driver that utilizes
+The SW Turbo PMD (**baseband_turbo_sw**) provides a poll mode bbdev driver that utilizes
Intel optimized libraries for LTE Layer 1 workloads acceleration. This PMD
supports the functions: Turbo FEC, Rate Matching and CRC functions.
@@ -26,6 +26,8 @@ For the decode operation:
* ``RTE_BBDEV_TURBO_CRC_TYPE_24B``
* ``RTE_BBDEV_TURBO_POS_LLR_1_BIT_IN``
* ``RTE_BBDEV_TURBO_NEG_LLR_1_BIT_IN``
+* ``RTE_BBDEV_TURBO_DEC_TB_CRC_24B_KEEP``
+* ``RTE_BBDEV_TURBO_EARLY_TERMINATION``
Limitations
@@ -39,25 +41,38 @@ Installation
FlexRAN SDK Download
~~~~~~~~~~~~~~~~~~~~
-To build DPDK with the *turbo_sw* PMD the user is required to download
-the export controlled ``FlexRAN SDK`` Libraries. An account at Intel Resource
-Design Center needs to be registered from
-`<https://www.intel.com/content/www/us/en/design/resource-design-center.html>`_.
+To build DPDK with the *baseband_turbo_sw* PMD the user is required to download
+the export controlled ``FlexRAN SDK`` Libraries. An account at `Intel Resource
+Design Center <https://www.intel.com/content/www/us/en/design/resource-design-center.html>`_
+needs to be registered.
Once registered, the user needs to log in, and look for
-*Intel SWA_SW_FlexRAN_Release_Package R1_3_0* and click for download. Or use
-this direct download link `<https://cdrd.intel.com/v1/dl/getContent/575367>`_.
+*Intel FlexRAN Software Release Package 1_4_0* to download or directly through
+this `link <https://cdrdv2.intel.com/v1/dl/getContent/576288>`_.
After download is complete, the user needs to unpack and compile on their
system before building DPDK.
+The following table maps DPDK versions with past FlexRAN SDK releases:
+
+.. _table_flexran_releases:
+
+.. table:: DPDK and FlexRAN SDK releases compliance
+
+ ===================== ============================
+ DPDK version FlexRAN SDK release
+ ===================== ============================
+ 18.02 1.3.0
+ 18.05 1.4.0
+ ===================== ============================
+
FlexRAN SDK Installation
~~~~~~~~~~~~~~~~~~~~~~~~
The following are pre-requisites for building FlexRAN SDK Libraries:
(a) An AVX2 supporting machine
(b) Windriver TS 2 or CentOS 7 operating systems
- (c) Intel ICC compiler installed
+ (c) Intel ICC 17.0.3 compiler installed
The following instructions should be followed in this exact order:
@@ -68,31 +83,28 @@ The following instructions should be followed in this exact order:
source <path-to-icc-compiler-install-folder>/linux/bin/compilervars.sh intel64 -platform linux
-#. Extract the ``FlexRAN-1.3.0.tar.gz.zip`` package, then run the SDK extractor
- script and accept the license:
+#. Extract the ``576288-576288-intel-swa-sw-flexran-release-package-r1-4-0.zip``
+ package, then run the SDK extractor script and accept the license:
.. code-block:: console
- cd <path-to-workspace>/FlexRAN-1.3.0/
- ./SDK-R1.3.0.sh
+ cd <path-to-workspace>/FlexRAN-1.4.0/
+ ./SDK-R1.4.0.sh
-#. To allow ``FlexRAN SDK R1.3.0`` to work with bbdev properly, the following
- hotfix is required. Change the return of function ``rate_matching_turbo_lte_avx2()``
- located in file
- ``<path-to-workspace>/FlexRAN-1.3.0/SDK-R1.3.0/sdk/source/phy/lib_rate_matching/phy_rate_match_avx2.cpp``
- to return 0 instead of 1.
+#. Generate makefiles based on system configuration:
- .. code-block:: c
+ .. code-block:: console
- - return 1;
- + return 0;
+ cd <path-to-workspace>/FlexRAN-1.4.0/SDK-R1.4.0/sdk/
+ ./create-makefiles-linux.sh
-#. Generate makefiles based on system configuration:
+#. If build as a shared library is required, then add ``"-fPIC"`` option to file
+ ``<path-to-workspace>/FlexRAN-1.4.0/SDK-R1.4.0/sdk/cmake/intel-compile-options.cmake``
+ as follows:
.. code-block:: console
- cd <path-to-workspace>/FlexRAN-1.3.0/SDK-R1.3.0/sdk/
- ./create-makefiles-linux.sh
+ add_compile_options("-fPIC")
#. A build folder is generated in this form ``build-<ISA>-<CC>``, enter that
folder and install:
@@ -118,8 +130,8 @@ Example:
.. code-block:: console
- export FLEXRAN_SDK=<path-to-workspace>/FlexRAN-1.3.0/SDK-R1.3.0/sdk/build-avx2-icc/install
- export DIR_WIRELESS_SDK=<path-to-workspace>/FlexRAN-1.3.0/SDK-R1.3.0/sdk/
+ export FLEXRAN_SDK=<path-to-workspace>/FlexRAN-1.4.0/SDK-R1.4.0/sdk/build-avx2-icc/install
+ export DIR_WIRELESS_SDK=<path-to-workspace>/FlexRAN-1.4.0/SDK-R1.4.0/sdk/
* Set ``CONFIG_RTE_LIBRTE_PMD_BBDEV_TURBO_SW=y`` in DPDK common configuration
@@ -127,9 +139,9 @@ Example:
To use the PMD in an application, user must:
-- Call ``rte_vdev_init("turbo_sw")`` within the application.
+- Call ``rte_vdev_init("baseband_turbo_sw")`` within the application.
-- Use ``--vdev="turbo_sw"`` in the EAL options, which will call ``rte_vdev_init()`` internally.
+- Use ``--vdev="baseband_turbo_sw"`` in the EAL options, which will call ``rte_vdev_init()`` internally.
The following parameters (all optional) can be provided in the previous two calls:
@@ -143,5 +155,5 @@ Example:
.. code-block:: console
- ./test-bbdev.py -e="--vdev=turbo_sw,socket_id=0,max_nb_queues=8" \
+ ./test-bbdev.py -e="--vdev=baseband_turbo_sw,socket_id=0,max_nb_queues=8" \
-c validation -v ./test_vectors/bbdev_vector_t?_default.data