<div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr">Hi Nicolas,<div>thanks a lot for your help, I really appreciate it.</div><div><br></div><div>I just started digging into the details, so it seems that I need to take a deeper look at the 3GPP processing chain :)</div><div>Regarding your suggestion, could it be possible that the function you were pointing out is process_ldpc_dec_cb() within bbdev_turbo_software.c (just to be sure)?</div><div><br></div><div>Again, thanks a lot for your help.</div><div><br></div><div>Regards,</div><div>Ginés.</div></div></div></div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">El jue, 11 nov 2021 a las 16:18, Chautru, Nicolas (<<a href="mailto:nicolas.chautru@intel.com">nicolas.chautru@intel.com</a>>) escribió:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div lang="EN-US" style="overflow-wrap: break-word;">
<div class="gmail-m_601268743305285025WordSection1">
<p class="MsoNormal">Hi Gines, <u></u><u></u></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?<u></u><u></u></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.<u></u><u></u></p>
<p class="MsoNormal">Note that familiarity with 3GPP 5GNR standard is required<u></u><u></u></p>
<p class="MsoNormal"><a href="https://doc.dpdk.org/guides/prog_guide/bbdev.html" target="_blank">https://doc.dpdk.org/guides/prog_guide/bbdev.html</a><u></u><u></u></p>
<p class="MsoNormal"><a href="https://doc.dpdk.org/guides/bbdevs/turbo_sw.html" target="_blank">https://doc.dpdk.org/guides/bbdevs/turbo_sw.html</a><u></u><u></u></p>
<p class="MsoNormal"><a href="https://doc.dpdk.org/guides/tools/testbbdev.html" target="_blank">https://doc.dpdk.org/guides/tools/testbbdev.html</a><u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">Thanks<u></u><u></u></p>
<p class="MsoNormal">Nic<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<div style="border-top:none;border-right:none;border-bottom:none;border-left:1.5pt solid blue;padding:0in 0in 0in 4pt">
<div>
<div style="border-right:none;border-bottom:none;border-left:none;border-top:1pt solid rgb(225,225,225);padding:3pt 0in 0in">
<p class="MsoNormal"><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> Thursday, November 11, 2021 12:23 AM<br>
<b>To:</b> Chautru, Nicolas <<a href="mailto:nicolas.chautru@intel.com" target="_blank">nicolas.chautru@intel.com</a>><br>
<b>Cc:</b> <a href="mailto:users@dpdk.org" target="_blank">users@dpdk.org</a><br>
<b>Subject:</b> Re: [test-bbdev] Custom test-vector<u></u><u></u></p>
</div>
</div>
<p class="MsoNormal"><u></u> <u></u></p>
<div>
<div>
<div>
<p class="MsoNormal">Hi Nicolas,<u></u><u></u></p>
<div>
<p class="MsoNormal">thanks a lot for your quick response.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">Basically, when passing the generated LLRs vector to bblib_ldpc_decode_5gnr()<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">(bblib_ldpc_decoder_5gnr_request request = {}; request.varNodes = generated_llrs) <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">it is able to decode it. <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">However, converting the same vector to the bbdev format (from int8 vector to uint32_t chain),<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">bbdev throws RTE_BBDEV_SYNDROME_ERROR with the "iterationAtTermination" variable always <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">equals to the max number of iterations.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">Where could I find the documentation you are referring to?<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">Thanks in advance!<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">Regards,<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">Ginés.<u></u><u></u></p>
</div>
</div>
</div>
</div>
<p class="MsoNormal"><u></u> <u></u></p>
<div>
<div>
<p class="MsoNormal">El mié, 10 nov 2021 a las 19:22, Chautru, Nicolas (<<a href="mailto:nicolas.chautru@intel.com" target="_blank">nicolas.chautru@intel.com</a>>) escribió:<u></u><u></u></p>
</div>
<blockquote style="border-top:none;border-right:none;border-bottom:none;border-left:1pt solid rgb(204,204,204);padding:0in 0in 0in 6pt;margin-left:4.8pt;margin-right:0in">
<div>
<div>
<p class="MsoNormal">Hi Gines,
<u></u><u></u></p>
<p class="MsoNormal">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><u></u><u></u></p>
<p class="MsoNormal"><i>Bbdev”</i><u></u><u></u></p>
<p class="MsoNormal">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.
<u></u><u></u></p>
<p class="MsoNormal"> <u></u><u></u></p>
<p class="MsoNormal">Thanks<u></u><u></u></p>
<p class="MsoNormal">Nic<u></u><u></u></p>
<p class="MsoNormal"> <u></u><u></u></p>
<div style="border-top:none;border-right:none;border-bottom:none;border-left:1.5pt solid blue;padding:0in 0in 0in 4pt">
<div>
<div style="border-right:none;border-bottom:none;border-left:none;border-top:1pt solid rgb(225,225,225);padding:3pt 0in 0in">
<p class="MsoNormal"><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<u></u><u></u></p>
</div>
</div>
<p class="MsoNormal"> <u></u><u></u></p>
<div>
<div>
<p class="MsoNormal">Hi,<u></u><u></u></p>
<div>
<p class="MsoNormal">I'm still trying to generate test vectors for the bbdev application within <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">DPDK. More precisely, I want to create a test vector to run an LDPC decoding operation.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"> <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">For that, I'm generating the LLRs with matlab (5G NR toolbox) as follows:<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"> 1) LDPC encoding + rate matching + modulation<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"> 2) Demodulation + rate recover<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"> <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">The generated LLRs vector is directly decodable by flexRAN DPDK but when using it through <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">bbdev, it takes max iterations to decode, meaning that the decoding process was <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">unsuccessful.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"> <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">Any ideas/documentation about how to properly create the test vectors?<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"> <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">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>)<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"> <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">Regards,<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">Ginés.<u></u><u></u></p>
</div>
</div>
</div>
</div>
</div>
</div>
</blockquote>
</div>
</div>
</div>
</div>
</blockquote></div>