From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id EE15EA0548 for ; Thu, 11 Nov 2021 17:13:08 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 8B0AC40E28; Thu, 11 Nov 2021 17:13:08 +0100 (CET) Received: from mail-lf1-f41.google.com (mail-lf1-f41.google.com [209.85.167.41]) by mails.dpdk.org (Postfix) with ESMTP id 1F6D240E03 for ; Thu, 11 Nov 2021 17:13:07 +0100 (CET) Received: by mail-lf1-f41.google.com with SMTP id b1so9475266lfs.13 for ; Thu, 11 Nov 2021 08:13:07 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=i2cat.net; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=Rmk7AV0HeK7iKsqnmXuCjWSZPov18U0NZL0iTXyFftQ=; b=gLVckxN0cYaSRGam/capjxAlS6PyoxVoOHM3xn3RYntOMROw2J6xT83TsP/ZQVn1G1 a2v8Qy2bwuoV7d68TbtWnh7if4kjhfj/L0evu8Y1DiwYNtqbkUmJBPSaPhkhNApaKEDA f5mmYT6WFDmZLqEmOlk3796E0cgxmg6uclcqaBALLVBKqYmbNFpoMgIN5nFesB8FhGJD ewPOEF9IFd70auCafEdMRjvPdIM/8lykT7gAELEcmakIqIIWqVrhwdJMvgLiv8asHnf8 KxvBmZgkSjnhQbntGZNuIB1FQgRO+CqtaBh7CLt8j4wpKCnDuc6xTpeDZjnpIM4eQY/C mY6A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=Rmk7AV0HeK7iKsqnmXuCjWSZPov18U0NZL0iTXyFftQ=; b=RrTnivaauD3pocKAPQtIkrgk1+wGKXxe51uJlROjhpZXVibG5SVYBne87qU1XWUPk3 f5Djt32s5W+eI8qak/oSuYoXmix2EswecGrPSsTs0G2rdjgukSeyqc12I5hNoSZp8Cdi W1m+OOZN1OSxom8H1opT2YQjMy+3kgCxYz9otMh7+yJwolZenEjYhd5RvzqPZDDxiqYF UFqVqtjPIdGA3DWe1g+9cOgi4RllGvt9N7TEFq11p/m7NKJqrit/0SBTudgYAmc/dwY0 NKuRvzw5PpcZe8z/0wmW48Soe3rN39Bl03W8itVqSouxDYQE7a7kHWwYsu7bzPhENj8D 0o6Q== X-Gm-Message-State: AOAM532nIqVC5mbk9O3AwOc77M/NA+cJfkUMKYqEj7zDlscUfIbVSZZq Wpgx25dKCPse9uDdotVfVI2r8EYXHueOQUGKGUNNq/p+GhB+Hw== X-Google-Smtp-Source: ABdhPJzyr109PcHqrAb64aQ4Ve3bRR5/LfzRP6dxdqbblsWumpGGyNPJ0lqaU2hMq09e46xvbVddhTyOZHEy31PD/pk= X-Received: by 2002:a05:6512:10c1:: with SMTP id k1mr7256357lfg.343.1636647186466; Thu, 11 Nov 2021 08:13:06 -0800 (PST) MIME-Version: 1.0 References: In-Reply-To: From: =?UTF-8?B?R2luw6lzIEdhcmPDrWEgQXZpbMOpcw==?= Date: Thu, 11 Nov 2021 17:12:53 +0100 Message-ID: Subject: Re: [test-bbdev] Custom test-vector To: "Chautru, Nicolas" Cc: "users@dpdk.org" Content-Type: multipart/alternative; boundary="0000000000002c212b05d0859ea4" X-BeenThere: users@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK usage discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: users-bounces@dpdk.org --0000000000002c212b05d0859ea4 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Hi Nicolas, thanks a lot for your help, I really appreciate it. I just started digging into the details, so it seems that I need to take a deeper look at the 3GPP processing chain :) 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)? Again, thanks a lot for your help. Regards, Gin=C3=A9s. El jue, 11 nov 2021 a las 16:18, Chautru, Nicolas (< nicolas.chautru@intel.com>) escribi=C3=B3: > Hi Gines, > > 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? > > 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. > > Note that familiarity with 3GPP 5GNR standard is required > > https://doc.dpdk.org/guides/prog_guide/bbdev.html > > https://doc.dpdk.org/guides/bbdevs/turbo_sw.html > > https://doc.dpdk.org/guides/tools/testbbdev.html > > > > Thanks > > Nic > > > > *From:* Gin=C3=A9s Garc=C3=ADa Avil=C3=A9s > *Sent:* Thursday, November 11, 2021 12:23 AM > *To:* Chautru, Nicolas > *Cc:* users@dpdk.org > *Subject:* Re: [test-bbdev] Custom test-vector > > > > Hi Nicolas, > > thanks a lot for your quick response. > > > > Basically, when passing the generated LLRs vector to > bblib_ldpc_decode_5gnr() > > (bblib_ldpc_decoder_5gnr_request request =3D {}; request.varNodes =3D > generated_llrs) > > it is able to decode it. > > However, converting the same vector to the bbdev format (from int8 vector > to uint32_t chain), > > bbdev throws RTE_BBDEV_SYNDROME_ERROR with the "iterationAtTermination" > variable always > > equals to the max number of iterations. > > > > Where could I find the documentation you are referring to? > > > > Thanks in advance! > > > > Regards, > > Gin=C3=A9s. > > > > El mi=C3=A9, 10 nov 2021 a las 19:22, Chautru, Nicolas (< > nicolas.chautru@intel.com>) escribi=C3=B3: > > Hi Gines, > > What do you mean by =E2=80=9Cflexran DPDK=E2=80=9D vs =E2=80=9Cbbdev=E2= =80=9D? *=E2=80=9CThe generated LLRs > vector is directly decodable by flexRAN DPDK but when using it through * > > *Bbdev=E2=80=9D* > > 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. > > > > Thanks > > Nic > > > > *From:* Gin=C3=A9s Garc=C3=ADa Avil=C3=A9s > *Sent:* Wednesday, November 10, 2021 4:28 AM > *To:* users@dpdk.org > *Cc:* Chautru, Nicolas > *Subject:* [test-bbdev] Custom test-vector > > > > Hi, > > I'm still trying to generate test vectors for the bbdev application withi= n > > DPDK. More precisely, I want to create a test vector to run an LDPC > decoding operation. > > > > For that, I'm generating the LLRs with matlab (5G NR toolbox) as follows: > > 1) LDPC encoding + rate matching + modulation > > 2) Demodulation + rate recover > > > > The generated LLRs vector is directly decodable by flexRAN DPDK but when > using it through > > bbdev, it takes max iterations to decode, meaning that the decoding > process was > > unsuccessful. > > > > Any ideas/documentation about how to properly create the test vectors? > > > > PS: previous question here ( > https://mails.dpdk.org/archives/users/2021-October/005864.html) > > > > Regards, > > Gin=C3=A9s. > > --0000000000002c212b05d0859ea4 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hi Nicolas,
thanks a lot for your help, I really appreciate i= t.

I just started digging into the details, so it = seems that I need to take a deeper look at the 3GPP processing chain :)
Regarding your suggestion, could it be possible that the function yo= u were pointing out is=C2=A0process_ldpc_dec_cb() within bbdev_turbo_softwa= re.c (just to be sure)?

Again, thanks a lot for yo= ur help.

Regards,
Gin=C3=A9s.

El jue, 11 nov 2021 a las 16:18, Chautru, Nicolas (<<= a href=3D"mailto:nicolas.chautru@intel.com">nicolas.chautru@intel.com&g= t;) escribi=C3=B3:

Hi Gines,

Note that the bblib_ldpc_decode_5gnr() function is d= oing purely the decoder, while the bbdev implementation would include the f= ull FEC including the deRM as well. Are you familiar with 3gpp processing c= hain?

You can look a the function process_ldpc_dec_cp() in= bbdev_turbo_software.c to see how the different SDK libraries are called t= o implement the full bbdev api.

Note that familiarity with 3GPP 5GNR standard is req= uired

https://doc.dpdk.org/guides/prog_guide/bbdev.ht= ml

https://doc.dpdk.org/guides/bbdevs/turbo_sw.html=

https://doc.dpdk.org/guides/tools/testbbdev.html=

=C2=A0

Thanks

Nic

=C2=A0

From: Gin=C3=A9s Garc=C3=ADa Avil=C3=A9s <= gines.garcia@i2= cat.net>
Sent: Thursday, November 11, 2021 12:23 AM
To: Chautru, Nicolas <nicolas.chautru@intel.com>
Cc: users@dpdk.o= rg
Subject: Re: [test-bbdev] Custom test-vector

=C2=A0

Hi Nicolas,

thanks a lot for your quick=C2=A0response.=

=C2=A0

Basically, when passing the generated LLRs vector to= bblib_ldpc_decode_5gnr()

(bblib_ldpc_decoder_5gnr_request=C2=A0request =3D {}= ; request.varNodes =3D generated_llrs)=C2=A0

it is able to decode it.=C2=A0

However, converting the same vector to the bbdev for= mat (from int8 vector to uint32_t chain),

bbdev throws=C2=A0RTE_BBDEV_SYNDROME_ERROR with the = "iterationAtTermination" variable always=C2=A0

equals to the max number of iterations.

=C2=A0

Where could I find the documentation you are referri= ng to?

=C2=A0

Thanks in advance!

=C2=A0

Regards,

Gin=C3=A9s.

=C2=A0

El mi=C3=A9, 10 nov 2021 a las 19:22, Chautru, Nicol= as (<nico= las.chautru@intel.com>) escribi=C3=B3:

Hi Gines,

What do you mean by =E2=80=9Cflexran DPDK=E2=80=9D v= s =E2=80=9Cbbdev=E2=80=9D? =E2=80=9CThe generated LLRs vector is directly decodable by flexRAN DPDK= but when using it through=C2=A0

Bbdev=E2=80=9D

The format of the input/output data is defined in th= e documentation. Basically 1 byte per LLR and captured in vectors with CPU = endianness and processing as per 3gpp.

=C2=A0

Thanks

Nic

=C2=A0

From: Gin=C3=A9s Garc=C3=ADa Avil=C3=A9s <= gines.garcia@i2= cat.net>
Sent: Wednesday, November 10, 2021 4:28 AM
To: users@dpdk.o= rg
Cc: Chautru, Nicolas <nicolas.chautru@intel.com>
Subject: [test-bbdev] Custom test-vector

=C2=A0

Hi,

I'm still trying to generate test vectors for th= e bbdev application within=C2=A0

DPDK. More precisely, I want to create a test vector= to run an LDPC decoding operation.

=C2=A0

For that, I'm generating the LLRs with matlab (5= G NR toolbox) as follows:

=C2=A0 1) LDPC encoding=C2=A0+ rate matching=C2=A0+ = modulation

=C2=A0 2) Demodulation=C2=A0+ rate recover=

=C2=A0

The generated LLRs vector is directly decodable by f= lexRAN DPDK but when using it through=C2=A0

bbdev, it takes max iterations to decode, meaning th= at the decoding process was=C2=A0

unsuccessful.

=C2=A0

Any ideas/documentation about how to properly create= the test vectors?

=C2=A0

=C2=A0

Regards,

Gin=C3=A9s.

--0000000000002c212b05d0859ea4--