<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
{font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0in;
font-size:11.0pt;
font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
{mso-style-priority:99;
color:blue;
text-decoration:underline;}
span.EmailStyle18
{mso-style-type:personal-reply;
font-family:"Calibri",sans-serif;
color:windowtext;}
.MsoChpDefault
{mso-style-type:export-only;
font-family:"Calibri",sans-serif;}
@page WordSection1
{size:8.5in 11.0in;
margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-US" link="blue" vlink="purple" style="word-wrap:break-word">
<div class="WordSection1">
<p class="MsoNormal">Hi Gines, <o:p></o:p></p>
<p class="MsoNormal">Note that the bblib_ldpc_decode_5gnr() function is doing purely the decoder, while the bbdev implementation would include the full FEC including the deRM as well. Are you familiar with 3gpp processing chain?<o:p></o:p></p>
<p class="MsoNormal">You can look a the function process_ldpc_dec_cp() in bbdev_turbo_software.c to see how the different SDK libraries are called to implement the full bbdev api.<o:p></o:p></p>
<p class="MsoNormal">Note that familiarity with 3GPP 5GNR standard is required<o:p></o:p></p>
<p class="MsoNormal"><a href="https://doc.dpdk.org/guides/prog_guide/bbdev.html">https://doc.dpdk.org/guides/prog_guide/bbdev.html</a><o:p></o:p></p>
<p class="MsoNormal"><a href="https://doc.dpdk.org/guides/bbdevs/turbo_sw.html">https://doc.dpdk.org/guides/bbdevs/turbo_sw.html</a><o:p></o:p></p>
<p class="MsoNormal"><a href="https://doc.dpdk.org/guides/tools/testbbdev.html">https://doc.dpdk.org/guides/tools/testbbdev.html</a><o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Thanks<o:p></o:p></p>
<p class="MsoNormal">Nic<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<div style="border:none;border-left:solid blue 1.5pt;padding:0in 0in 0in 4.0pt">
<div>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b>From:</b> Ginés García Avilés <gines.garcia@i2cat.net> <br>
<b>Sent:</b> Thursday, November 11, 2021 12:23 AM<br>
<b>To:</b> Chautru, Nicolas <nicolas.chautru@intel.com><br>
<b>Cc:</b> users@dpdk.org<br>
<b>Subject:</b> Re: [test-bbdev] Custom test-vector<o:p></o:p></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<div>
<div>
<p class="MsoNormal">Hi Nicolas,<o:p></o:p></p>
<div>
<p class="MsoNormal">thanks a lot for your quick response.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">Basically, when passing the generated LLRs vector to bblib_ldpc_decode_5gnr()<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">(bblib_ldpc_decoder_5gnr_request request = {}; request.varNodes = generated_llrs) <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">it is able to decode it. <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">However, converting the same vector to the bbdev format (from int8 vector to uint32_t chain),<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">bbdev throws RTE_BBDEV_SYNDROME_ERROR with the "iterationAtTermination" variable always <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">equals to the max number of iterations.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">Where could I find the documentation you are referring to?<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">Thanks in advance!<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">Regards,<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">Ginés.<o:p></o:p></p>
</div>
</div>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<div>
<p class="MsoNormal">El mié, 10 nov 2021 a las 19:22, Chautru, Nicolas (<<a href="mailto:nicolas.chautru@intel.com">nicolas.chautru@intel.com</a>>) escribió:<o:p></o:p></p>
</div>
<blockquote style="border:none;border-left:solid #CCCCCC 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-right:0in">
<div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">Hi Gines,
<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">What do you mean by “flexran DPDK” vs “bbdev”?
<i>“The generated LLRs vector is directly decodable by flexRAN DPDK but when using it through </i><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><i>Bbdev”</i><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">The format of the input/output data is defined in the documentation. Basically 1 byte per LLR and captured in vectors with CPU endianness and processing as per 3gpp.
<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">Thanks<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">Nic<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
<div style="border:none;border-left:solid blue 1.5pt;padding:0in 0in 0in 4.0pt">
<div>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><b>From:</b> Ginés García Avilés <<a href="mailto:gines.garcia@i2cat.net" target="_blank">gines.garcia@i2cat.net</a>>
<br>
<b>Sent:</b> Wednesday, November 10, 2021 4:28 AM<br>
<b>To:</b> <a href="mailto:users@dpdk.org" target="_blank">users@dpdk.org</a><br>
<b>Cc:</b> Chautru, Nicolas <<a href="mailto:nicolas.chautru@intel.com" target="_blank">nicolas.chautru@intel.com</a>><br>
<b>Subject:</b> [test-bbdev] Custom test-vector<o:p></o:p></p>
</div>
</div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
<div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">Hi,<o:p></o:p></p>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">I'm still trying to generate test vectors for the bbdev application within <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">DPDK. More precisely, I want to create a test vector to run an LDPC decoding operation.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">For that, I'm generating the LLRs with matlab (5G NR toolbox) as follows:<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> 1) LDPC encoding + rate matching + modulation<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> 2) Demodulation + rate recover<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">The generated LLRs vector is directly decodable by flexRAN DPDK but when using it through <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">bbdev, it takes max iterations to decode, meaning that the decoding process was <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">unsuccessful.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">Any ideas/documentation about how to properly create the test vectors?<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">PS: previous question here (<a href="https://mails.dpdk.org/archives/users/2021-October/005864.html" target="_blank">https://mails.dpdk.org/archives/users/2021-October/005864.html</a>)<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">Regards,<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">Ginés.<o:p></o:p></p>
</div>
</div>
</div>
</div>
</div>
</div>
</blockquote>
</div>
</div>
</div>
</body>
</html>