diff options
Diffstat (limited to 'doc/guides/bbdevs/turbo_sw.rst')
-rw-r--r-- | doc/guides/bbdevs/turbo_sw.rst | 70 |
1 files changed, 40 insertions, 30 deletions
diff --git a/doc/guides/bbdevs/turbo_sw.rst b/doc/guides/bbdevs/turbo_sw.rst index b3fed163..0b96fbb1 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,39 @@ 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-6-0* to download or directly through +this `link <https://cdrdv2.intel.com/v1/dl/getContent/600609>`_. 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 + 18.08 1.6.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 + (b) CentOS Linux release 7.2.1511 (Core) operating system + (c) Intel ICC 18.0.1 20171018 compiler installed The following instructions should be followed in this exact order: @@ -67,31 +83,25 @@ 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 ``flexran-1-6-0-tar.gz.zip`` package: .. code-block:: console - cd <path-to-workspace>/FlexRAN-1.3.0/ - ./SDK-R1.3.0.sh + unzip flexran-1-6-0-tar.gz.zip + tar xvzf flexran-1-6-0-tar.gz -C FlexRAN-1.6.0/ -#. 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. +#. Run the SDK extractor script and accept the license: - .. code-block:: c + .. code-block:: console - - return 1; - + return 0; + cd <path-to-workspace>/FlexRAN-1.6.0/ + ./SDK-R1.6.0.sh #. Generate makefiles based on system configuration: .. code-block:: console - cd <path-to-workspace>/FlexRAN-1.3.0/SDK-R1.3.0/sdk/ + cd <path-to-workspace>/FlexRAN-1.6.0/SDK-R1.6.0/sdk/ ./create-makefiles-linux.sh #. A build folder is generated in this form ``build-<ISA>-<CC>``, enter that @@ -100,7 +110,7 @@ The following instructions should be followed in this exact order: .. code-block:: console cd build-avx2-icc/ - make install + make && make install Initialization @@ -118,8 +128,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.6.0/SDK-R1.6.0/sdk/build-avx2-icc/install + export DIR_WIRELESS_SDK=<path-to-workspace>/FlexRAN-1.6.0/SDK-R1.6.0/sdk/ * Set ``CONFIG_RTE_LIBRTE_PMD_BBDEV_TURBO_SW=y`` in DPDK common configuration @@ -127,9 +137,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 +153,5 @@ Example: .. code-block:: console - ./test-bbdev.py -e="--vdev=turbo_sw,socket_id=0,max_nb_queues=8" \ - -c validation -v ./test_vectors/bbdev_vector_t?_default.data + ./test-bbdev.py -e="--vdev=baseband_turbo_sw,socket_id=0,max_nb_queues=8" \ + -c validation -v ./turbo_*_default.data |